Возвращает кодирование в формате Json? метки для китайских символов

#php #ajax #json

#php #ajax #json

Вопрос:

У меня есть имена, которые хранятся с помощью utf8_unicode_ci в базе данных.

Свойство типа данных Ajax является dataType:"json"

И это php-код:

 $names = mysql_query($query);

$name_arr = array();
while($name = mysql_fetch_assoc($names)) {
    $name_arr[] = $name;
}

echo json_encode($name_arr);
  

Он возвращает ??? замену китайских символов. Я думаю, что я не выполнял двойное кодирование. Кто-нибудь может мне помочь? Спасибо.

Комментарии:

1. Вы тоже отправляете данные в UTF8? Попробуйте header("Content-Encoding: utf-8"); .

2. json_encode() также может быть проблема. Пожалуйста, удалите его и попробуйте еще раз (конечно, это не будет допустимый JSON).

3. Я сделал. Я попытался вернуть text вместо json . Итак, я просто повторил имя, но все равно вернул то же самое.

Ответ №1:

Комментарии:

1. Сработало отлично. Для добавления завершающего типа к тексту нужны только строки кода 5 и 6.