Javascript конвертирует данные из utf-8 в iso-8859-1 - PullRequest
1 голос
/ 03 февраля 2010

Я работаю над веб-сайтом, который выполнен в кодировке iso-8859-1 с использованием старого ASP 3.0. Я использую Yahoo YQL для запроса данных (XML) с внешних веб-сайтов, но которые я запрашиваю, чтобы они возвращались как JSON-P (JSON с функцией обратного вызова, чтобы я мог получить данные).

Проблема, с которой я сталкиваюсь, заключается в том, что YQL, похоже, всегда возвращает данные, закодированные в utf-8, что плохо для меня, когда я пытаюсь отобразить любые текстовые данные, полученные из этого запроса. Символы, такие как é, à, ô, теряются в IE6 и IE7, так как кодировка не совпадает.

Кто-нибудь знает, как преобразовать данные utf-8, полученные через JSON-P с помощью YQL, в iso-8859-1 и правильно их отобразить?

Я уже пробовал это решение , но оно не работает. Функции на стороне сервера также недоступны, ASP 3.0 не содержит таких функций, как utf8_decode.

Спасибо

1 Ответ

2 голосов
/ 03 февраля 2010

Понятия не имею, сработает ли это, но вот что вы можете попробовать, если хотите.

Тег <script> может иметь атрибут charset, указанный при обращении к удаленному файлу JS. Смотрите теорию здесь . Это определенно работает для контента, который хранится внутри файла JavaScript и, например, вывод с использованием document.write.

Работает ли неявное преобразование для данных , извлекаемых подпрограммой , определенной в этом файле через JSONP? Я понятия не имею. Я думаю, вероятно, нет. Я не могу проверить это прямо сейчас, но если вы это сделаете, я был бы очень заинтересован в результате.

...