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

json_encode в PHP: разрастание данных

В PHP есть встроенные средства преобразования данных в json. Рассмотрим пример:

echo json_encode(iconv('cp1251', 'utf-8', 'тест'));

Он вернет "\ u0442\ u0435\ u0441\ u0442" (пробелы дабы не искушать парсер) — это 26 байтов, а вовсе не 10, как хотелось бы.

Как же так?
  • Вопрос задан
  • 4660 просмотров
Подписаться 5 Оценить 1 комментарий
Ответ пользователя MT К ответам на вопрос (4)
MTonly
@MTonly
Веб-разработчик с 2002 года
Такое кодирование нелатинских символов является, так сказать, единственным надёжным способом гарантированно точного представления таких символов вне зависимости от используемой на веб-странице кодировки. Но жаль, конечно, что в json_encode() нет параметра, позволяющего отключить такое кодирование, если кодировка страницы и JSON-данных заведомо совпадает.
Ответ написан
Комментировать