«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как правильно кодировать специальные символы в JSON с помощью функции PHP json_encode()?

Как правильно кодировать специальные символы в JSON с помощью функции PHP json_encode()?

Опубликовано 17 ноября 2024 г.
Просматривать:731

How to Correctly Encode Special Characters in JSON with PHP\'s json_encode() Function?

Кодировка JSON и специальные символы

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

Чтобы решить эту проблему, убедитесь, что все строковые данные имеют кодировку UTF-8, прежде чем кодировать их как JSON. Этого можно добиться, используя array_map() в сочетании с функцией utf8_encode():

$arr = array_map('utf8_encode', $arr);
$json = json_encode($arr);

Как отмечено в руководстве по PHP, json_encode() требует, чтобы все строковые данные были в кодировке UTF-8. Кодируя элементы массива в UTF-8 перед кодированием JSON, мы гарантируем правильное представление специальных символов в выходных данных JSON.

Для ясности давайте сравним результаты кодирования массива с UTF-8 и без него. кодировка:

Без UTF-8 Кодировка:

$arr = ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"];
$json = json_encode($arr); // {"funds":null}

С кодировкой UTF-8:

$arr = array_map('utf8_encode', ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"]);
$json = json_encode($arr); // {"funds":"ComStage STOXX\u00c2\u00aeEurope 600 Techn NR ETF"}

При применении кодировки UTF-8 специальные символы правильно отображаются в выходных данных JSON. Не забывайте последовательно использовать utf8_encode() для правильного кодирования.

Заявление о выпуске Эта статья перепечатана по адресу: 1729242557. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3