Проблема Набора символов Json_encode

Когда я использую json_encode для кодирования моих много языковых строк, Он также изменяет специальные символы. Что я должен сделать для хранения их тем же.

Например,

<?
echo json_encode(array('şüğçö'));

Это возвращает что-то как [" \u015f\u00fc\u011f\u00e7\u00f6"]

Но я хочу [" şüğçö"]

6
задан Oguz Bilgic 14 June 2010 в 06:58
поделиться

3 ответа

В JSON любой символ в строках может быть представлен escape-последовательностью Unicode. Таким образом, "\ u015f \ u00fc \ u011f \ u00e7 \ u00f6" семантически равно "şüğçö" .

Хотя этот символ также можно использовать в обычном формате, json_encode , вероятно, предпочитает escape-последовательности Unicode, чтобы избежать проблем с кодировкой символов.

2
ответ дан 9 December 2019 в 22:29
поделиться
<?php

print_r(json_decode(json_encode(array('şüğçö'))));

/*
Array
(   
    [0] => şüğçö
)
*/

Так действительно ли вам нужно держать эти символы незамкованными в JSON?

0
ответ дан 9 December 2019 в 22:29
поделиться

json_encode () не предоставляет никаких опций для выбора кодировки, в которой используется кодировка в версиях до 5.4.

1
ответ дан 9 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: