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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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