substr и Юникод

Всем привет. Заметил что substr не стабильно работает, допустим в index.php:

Найдите:
$oRouter->Exec();

Ниже вставьте:
echo substr('Привет мир', 1);


Не знаю как у Вас, а у меня выводит:
�ривет мир

Зато:
echo substr('Привет мир', 2);


Стабильно обрезает 1 символ, вроде бы всё просто — substr обрезает 1 байт, ладно, заменим на:
echo mb_substr('Привет мир', 1);

Теперь по идеи должно обрезать 2 байта, то есть 1 символ, но нет! Вывод прежний.

В чём может быть проблема?

3 комментария

avatar
mb_substr('Привет мир',1, 1, 'UTF-8');
  • ort
  • 0
avatar
а можно как то без 4 параметра обойтись?
avatar
вот здесь есть вся документация — ru2.php.net/manual/en/ref.mbstring.php
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.