@leukocyte

Почему получаются кракозябры при получении символа из строки в PHP?

Есть небольшой скрипт на php (кодировка utf-8), вызывается из консоли под linux. Есть вот такая проблема:
$letters = 'бвгд';
echo $letters; // печатает 'бвгд'
echo 'б'; // печатает 'б'
echo $letters[0]; // печатает �

Та же беда при отправке запроса на сервер (сервер осуществляет поиск по текстовому запросу). Если передавать строку, или одиночный введенный символ, то все работает. Если попробовать передать символ, полученный как $letters[0], ответ пустой.
  • Вопрос задан
  • 355 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что [] работает не с символами, а с байтами и некорректно работает с многобайтными кодировками. Используйте mb_substr()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы