2016-02-02 2 views
1

Я использую следующий код, чтобы получить JSON со страницы и проанализировать ее на моей HTML-странице. JSON не отображается в UTF-8 и поэтому имеет странные символы. Как удалить странные символы?Parse JSON as UTF-8

$.get("test.php", function (data) { 
    var JSON = jQuery.parseJSON(data); 
    $.each(JSON.deals.items, function (index, value) { 
     // My code 
    }); 
}); 
+2

Не могли бы вы привести пример вашего JSON? –

+0

heres ссылка, которая генерирует json http://oxhey.wc.lt/test.php – JohnyChew

+0

Вы имеете в виду символы юникода в свойствах 'title'? Например '' u00c2 \ u00a314.99'? Если это так, [этот вопрос] (http://stackoverflow.com/questions/4901133/json-and-escaping-characters) может помочь, однако, если возможно, лучше изменить кодировку на сервере. –

ответ

3

Пожалуйста, убедитесь, что каждый шаг вашего процесса в UTF-8:

  • Соединение с базой данных
  • Таблицы базы данных
  • Ваш PHP файл
  • Содержание -типы, которые вы выводите

    header('Content-Type: application/json; charset=utf-8');

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

См: PHP json_encode json_decode UTF-8

EDIT: Если у вас уже есть странные символы, такие как \u00a3 в вашем JSON корма вместо £ символа, ваша проблема уже есть ответ: https://stackoverflow.com/questions/1423846/convert-unicode-from-json-string-with-php

+0

Нет базы данных. Php-файл имеет заголовок типа контента – JohnyChew

+0

Ну, предполагая, что вы ссылаетесь на странные символы и сбрасываемые косые черты в ваших данных, ваш PHP-файл получает откуда-то данные, а эти данные уже не UTF-8 ... поэтому ваша проблема заключается в том, откуда этот файл PHP получает свои данные. –

+0

прав, но я не могу это изменить. есть способ удалить символы после? – JohnyChew