2016-08-25 2 views
0

У меня возникли проблемы с получением моего углового приложения для правильного анализа моих json-данных.Angular http.get charset

Когда мой json-feed содержит, например, {"title": "Halldórsson Pourié"} моя заявка показывает Halld rsson Pouri

Я считаю, что проблема заключается в кодировке, но я не могу найти, где ее изменить.

В настоящее время я использую нг-Bind-HTML и с помощью $ sce.trustAsHtml(), и я очень уверен, что проблема возникает, когда $ http.get (URL) разбирает мой JSON.

Так как я могу рассказать $ http.get (url) для анализа данных с помощью определенной кодировки?

+0

Вот простой звенеть, http://plnkr.co/edit/R4pzNAmWguMXcnkClyMX?p = preview, я не смог воспроизвести проблему. Не могли бы вы попытаться воспроизвести его? –

+0

Я просто попытался поместить свой источник данных в ваш plunkr, и проблема повторится. Когда я проверил источник данных, я использовал свой браузер, который, вероятно, не видит данные, как это делает угловой. Итак, теперь я обнаружил, что в источнике данных отсутствуют некоторые кодировки/данные кодирования, чтобы угловое кодирование было правильно. Спасибо за помощь. – OngoBoingo

+0

Plnkr ничего не стоит, поскольку проблема связана с сервером и клиентом. Проверьте редактирование на мой ответ. – FDavidov

ответ

0

У меня была аналогичная проблема, и решить ее с помощью:

encodeURIComponent(JSON.stringify(p_Query)) 

где p_Query является JSON, содержащий детали запроса (т.е. ваш { "title": "Halldórsson Pourié" }).

EDIT:

Вы также можете добавить в заголовок вашего запроса GET следующие:

'Content-Type': 'application/x-www-form-urlencoded ; charset=UTF-8' 
+0

Мое объяснение проблемы может быть немного недостаточным. Я получаю свои данные с помощью json-feed вне приложения. Чтобы получить данные, я использую угловой $ http-сервис. Но $ http-service автоматически анализирует данные json и использует UTF-8 (я думаю), который не содержит специальных символов, которые мне нужны. Поэтому, когда я могу манипулировать данными, мои специальные символы уже были преобразованы в . – OngoBoingo

+0

@OngoBoingo, прежде всего, UTF-8 содержит все наборы символов, которые вы можете себе представить, конечно, все, что вам нужно для французского языка (если я правильно понял язык вашего примера). Во-вторых, вы говорите, что JSON доставляется к вашему веб-приложению? В этом случае, пожалуйста, определите, что у вас есть на стороне сервера, кто создает JSON и кто отвечает на запрос GET. – FDavidov

Смежные вопросы