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

Проблемы с кодировкой. Почему php возвращает русские буквы в виде u041f?

После запроса в mysql возвращает ассоциативный массив, в mysql базе сравнение стоит utf8_unicode_ci после json_encode() получаю такой массив : [{"reportId":"1","title":"?????? ?????"}] , так как вместо кирилии знаки вопроса сразу понятно что проблема в кодировке, добавляю этот код после подключения к базе:
$con->query("SET NAMES 'utf8'"); 
$con->query("SET CHARACTER SET utf8");  
$con->query("SET SESSION collation_connection = 'utf8_unicode_ci'");

и теперь php страница возвращает это:
[{"reportId":"1","title":"\u041f\u0435\u0440\u0432\u044b\u0439 \u043e\u0442\u0447\u0435\u0442"}]
Вариантов как это исправить не нашел, буду благодарен любой помощи.
  • Вопрос задан
  • 1449 просмотров
Подписаться 1 Простой 1 комментарий
Ответ пользователя Сергей Яковлев К ответам на вопрос (5)
и теперь php страница возвращает это:
[{"reportId":"1","title":"\u041f\u0435\u0440\u0432\u044b\u0439 \u043e\u0442\u0447\u0435\u0442"}]


Если использовать json_encode($report, JSON_UNESCAPED_UNICODE), то на выходе будет читаемый тест.

Правильность результата можно проверить, просто выведя значение поля:
echo $report['title'];
Ответ написан
Комментировать