[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа со строчками
Rikko
Всем доброго времени суток.

Есть функция
function ehSTR($str){
...
$StrLen = strlen ($str);
echo $StrLen;
...

echo $str{1};
...

}


Проблема такая: если за переменную функции брать англоязычные слова или цифры - всё хорошо считает и отображает, но вот если речь идёт о русскоязычных словах, то выводится длина слова в 2 раза больше.
Да и к тому же не выводит правильно нужны символ ...
echo $str{1};

Выводит ромб со знаком вопроса вместо буквы.


Кто подскажет, как подправить эти недочеты ?
Michael
С utf-8 кодировкой надо работать с помощью ф-ций, начинающихся с mb_
Такими как mb_strlen вместо strlen
Вырезать символы, не так как ты, а ф-цией mb_substr

_____________
There never was a struggle in the soul of a good man that was not hard
Rikko
Попробовал
$my_string = 'Трололо';
echo mb_substr ($my_string ,1,1, 'UTF-8');
echo mb_strlen ('Ахаха', 'UTF-8');


В ответ получаю не совсем корректные данные:

Цитата
оло2


Т.е. выходит что он принимает 2 русских буквы за 1
Rikko
А не, всё отлично, просто немного с кодировкой напутал.

Michael , большое спасибо!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.