Проблема в ПХП с кодировкой и функцией substr

292
08 февраля 2017, 22:57

Всем доброго времени суток.Изучаю пхп,на данный момент столкнулся с функцией

substr возвращает подстроку строки

$string_count = "Дана строка:Maxim<br>";
echo $string_count;
echo substr($string_count,1,3);


Но выводит какие то символы,в чем может быть проблема?
Заранее благодарю за ответ

Answer 1

Проблема в том, что функция substr() работает с однобайтовой кодировкой и возвращает не три символа из строки, а три байта, при этом, могу предположить, что файл у Вас сохранен в кодировки UTF-8, то есть многобайтовой.

Следовательно, Вы получаете три байта из строки в кодировке UTF-8, которые выглядят так, как Вы видите. Для того, чтобы получить желаемый результат проще всего использовать функции для работы с многобайтовыми кодировками. В Вашем случае это mb_substr

Answer 2

Открываем гугл и пишем

php substr русские символы

И всё сразу же становится на свои места.

Используйте

mb_substr($string_count,1,3);
READ ALSO
Нужен плагин для стилизации type=&ldquo;number&rdquo;

Нужен плагин для стилизации type=“number”

Нужен плагин для стилизации поля воода чисел вот такого типа http://prntscrcom/e5tvwz (что бы свести к минимуму редактирование цсс) Сейчас на уме один...

346
Ошибка при запуске gulp. Что делать?

Ошибка при запуске gulp. Что делать?

Думаю сначала нужно ES6 в ES5 конвертировать, а потом минифицировать

479