php sprintf () с иностранными символами?

У швов, похожих на sprintf, есть проблема с персонажами с прогибами? Или я делаю что-то неправильно? Похоже, что это работает при удалении таких символов, как åäö. Должно ли это быть необходимым?

Я хочу, чтобы следующие строки были правильно выровнены для отчета:

2011-11-27 A1823 -Ref. Leif - 12 873,00 18.98 2011-11-30 A1856 -Rättat xx - 6 594,00 19.18 

Я использую sprintf () следующим образом: % -12s% -8s -% – 10s -% 20s% 8.2f

Использование: php-5.3.23-nts-Win32-VC9-x86

Solutions Collecting From Web of "php sprintf () с иностранными символами?"

Строки в PHP – это в основном массивы байтов (а не символы). Они не могут работать из-за многобайтовых кодировок (например, UTF-8).

Подробнее см .:
https://secure.php.net/manual/en/language.types.string.php#language.types.string.details

Большинство строковых функций в PHP имеют многобайтовый эквивалент (с префиксом mb_ ). Но sprintf этого не делает.

Существует комментарий пользователя («веб-мастер в сети cafe-clope dot net») с многобайтовой реализацией sprintf на странице документации функции на php.net. Это может сработать для вас:
https://secure.php.net/manual/en/function.sprintf.php#55837