Проблемы с кодировкой php

Обсуждение других вопросов связанных с веб-разработкой
Ichy
Сообщения: 2
Зарегистрирован:
01 апр 2013, 18:57

Проблемы с кодировкой php

Ichy » 01 апр 2013, 19:02

Дорого времени суток. Столкнулся с проблемой кодировки, а именно -
$str='ФакенФак';
echo $str[0].'<br>';
echo substr($str,1);
выводит

�акенФак
Поиск по форуму не помог, в настройках везде стоит utf-8.
Впервые столкнулся с данной проблемой, за время использования OpenServer.
Прошу помощи.
Аватара пользователя
duxabilii
Сообщения: 215
Зарегистрирован:
22 июн 2011, 22:06
Контактная информация:

duxabilii » 01 апр 2013, 23:11

Почитайте про работу стандартных строковых функций PHP с UTF-8 и функции расширения mb_string
Аватара пользователя
DelphinPRO
Сообщения: 803
Зарегистрирован:
01 фев 2012, 17:27
Откуда: Самара
Контактная информация:

DelphinPRO » 01 апр 2013, 23:53

Сервер здесь не при чем, и с таким вопросом вам скорее на php-форум :)
Если кратко: стандартные строковые функции работают с байтами, а не с символами. А русские буквы в UTF-8 имеют коды из двух байтов. Посему для работы со строками в мультибайтных кодировках следует использовать функции расширения mb_strings, которые эти строки обрабатывают корректно.
Ichy
Сообщения: 2
Зарегистрирован:
01 апр 2013, 18:57

Ichy » 02 апр 2013, 00:19

Каюсь, дурак :)
Спасибо за реакцию.
juston33
Сообщения: 1
Зарегистрирован:
28 мар 2015, 08:37

juston33 » 28 мар 2015, 08:43

Почитайте про работу стандартных строковых функций PHP с UTF-8 и функции расширения mb_string

ВЫРЕЗАНО
Ответить