$a = 'Ololosh';
echo $a{0};
Получаю вывод нулевого символа строки Ololosh
НО, если строка состоит из русских букв - то при обращении к какому-то ее символу, я вижу полную фигню.
Как сие исправить? Почему с англ. строками все норм, а русскими - атас?
Спустя 42 минуты, 22 секунды (22.09.2012 - 20:37) walerus написал(а):
Кодировка какая ? скрипта и слова/файла, которое обрабатывается ?
Спустя 29 минут, 5 секунд (22.09.2012 - 21:06) neadekvat написал(а):
Ибо нефиг. Это строка - так обращайся с ней как со строкой.
Используй функции работы со строками (substr к примеру).
Используй функции работы со строками (substr к примеру).
Спустя 13 часов, 5 минут, 37 секунд (23.09.2012 - 10:12) iVasya написал(а):
Цитата |
Ибо нефиг. Это строка - так обращайся с ней как со строкой. Используй функции работы со строками (substr к примеру). |
Ок:
header("Contetn-type: text/html; charset=utf-8");
$a = 'Старкрафт';
echo substr($a, 0, 1);
Пхп-файл сохранен в utf-8.
Получаю караказяблу.
Как объясните это?
В общем, мне кажеться, или для работы с русскими строками нужно использовать расширение mbstring?
Спустя 6 часов, 2 минуты, 24 секунды (23.09.2012 - 16:14) neadekvat написал(а):
Цитата (iVasya @ 23.09.2012 - 11:12) |
В общем, мне кажеться, или для работы с русскими строками нужно использовать расширение mbstring? |
Бинго. И у нее будут свои функции.
Но она не позволит сделать $str[4] со строкой. Так что забудь этот способ.