Json_encode возвращает ошибку utf-8 на одном компьютере, но не на другомPhp

Кемеровские программисты php общаются здесь
Anonymous
Json_encode возвращает ошибку utf-8 на одном компьютере, но не на другом

Сообщение Anonymous »

Я извлекаю данные из базы данных и переупорядочиваю их в ассоциативный массив.
Я использую MySQL, параметры сортировки базы данных — utf8_general_ci.

На моей машине разработки, когда я повторяю json_encode($data), все работает отлично.

Я импортировал база данных на моем сервере, все те же сценарии и т. д. Однако только для некоторых результатов json_ecode ничего не возвращает при исследовании

Код: Выделить всё

echo json_last_error() === JSON_ERROR_UTF8;
возвращает 1.

Я действительно не знаю, как проводить дальнейшую отладку, есть ли у кого-нибудь какие-нибудь указатели, как что здесь происходит?

РЕДАКТИРОВАТЬ

Я не вижу насколько это дубликат, я понимаю использование utf8_encode... Тот факт, что в отдельных системах он работает по-разному, меня сбивает с толку, и буду очень признателен за любую помощь.

ВТОРОЕ ИЗМЕНЕНИЕ

Рабочий пример не обязателен, чтобы показать, что utf8_encode необходимо, так как это было неправильное решение. Сервер mysql для разработки был настроен иначе, чем удаленный сервер mysql.

Мне помогло редактирование /etc/mysql/my.conf

Код: Выделить всё

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
Я бы с радостью ответил на этот вопрос, если бы его снова открыли.

Подробнее здесь: https://stackoverflow.com/questions/288 ... ot-another

Вернуться в «Php»