Проблема кодировки в mysql

494
28 ноября 2016, 18:40

в phpmyadmin у базы данных и у всех таблиц установленно сравнение utf8_unicode_ci, в файле my.ini раскоментил строчки

collation_server=utf8_unicode_ci
character_set_server=utf8

До этого кирилица на странице выводилась вопросами. Теперь кирилица выводится в виде кодов символов:

\u041a\u0438\u0440\u043e\u0432\u0441\u043a\u0438\u0439

В гугле ничего по данной проблеме не нашел, как можно решить эту проблему?

Answer 1

Используйте флаг JSON_UNESCAPED_UNICODE у функции json_encode

Дополнительную информацию смотреть http://php.net/manual/ru/function.json-encode.php и http://php.net/manual/ru/json.constants.php

Answer 2

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

Answer 3

если вы видите вопросы это значит не определилась кодировка. причина может быть в том что ваш файл с исходным кодом в другой кодировке (не в той которая указана в настройке сервера). С большой долей вероятности можно предположить что настройках веб сервера у вас UTF8(юникод) а файл в CP1251(виндовс).

READ ALSO
Как вывести данные из базы Mysql?

Как вывести данные из базы Mysql?

В ячейке xfields написано несколько ссылок таким образомaudio|vip

543
Дубликат primary key почему возникает?

Дубликат primary key почему возникает?

Экспортирую таблицу из БДСоздаю копию её с другим именем но такой же структурой и пустую

394
Объявление переменных в mysql

Объявление переменных в mysql

Как в mysql объявить переменную, присвоить ей какое нибудь значение и использовать ее в запросе? Нужно именно средствами mysql

657
хранимая процедура в mysql

хранимая процедура в mysql

Как сделать хранимую процедуру в mysql которая вернет результат запросаНе хочется в php большой запрос оборачивать в строку

429