Задать вопрос
@serbinyo

Функция strlen() неправильно считает русские символы. Как исправить?

Функция strlen() не правильно считает русские символы

$text = "Сегодня";
echo strlen($text); // ответ 14
$str = 'abcdef';
echo strlen($str); // ответ 6


И также функции strtolower() и strtoupper() тоже не работают с кириллицей, вот пример

$text = "Да ЗДраВсТвУЕт СюрПРиз";
echo strtolower($text);  // выводит Да ЗДраВсТвУЕт СюрПРиз
echo "";	
echo strtoupper($text); // выводит Да ЗДраВсТвУЕт СюрПРиз
echo "";
$str = "Mary Had A Little Lamb and She LOVED It So";
echo strtoupper($str);	 //выводит MARY HAD A LITTLE LAMB AND SHE LOVED IT SO


Почему не работает с кириллицей? И как пользоваться этими функциями в случае с русскими символами?
  • Вопрос задан
  • 10612 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@STZ
mb_strlen
mb_strtolower
и т.д. привет юникод
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@rogov888
Хоть бы другим написал как эту проблему решить, а то поступил ты как кусок гавна!
Тебе помогли, а ты ни кому!
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
Что-то вы напутали с кодировками. Сохраните файл в utf-8, и всё будет ОК с функциями mb_*
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы