Изменить кодировку с UTF-8 на ISO-8859-2 в Javascript - PullRequest
5 голосов
/ 22 января 2010

Я хотел бы изменить кодировку строки с UTF-8 на ISO-8859-2 в Javascript. Как я могу это сделать?

Мне это нужно, потому что я создал виджет. Пользователь просто копирует тег с моего сайта и помещает его на свой. Этот скрипт создает div и помещает в div содержимое виджета с текстом.

Если целевой сайт в кодировке UTF-8 - он работает нормально. Но когда это в ISO-8859-2, то текст, закодированный в UTF-8, отображается на сайте с ISO-8859-2, и в результате я вижу мусор.

Ответы [ 3 ]

2 голосов
/ 22 января 2010

Вместо использования, например, «ĉ» в вашем коде JavaScript, используйте экранирование Unicode, например «\ u0109».

0 голосов
/ 23 января 2010

Полагаю, вам просто нужно конвертировать ваш wdiget из UTF-8 в ISO-8859-2 и предоставить 2 версии скрипта.

0 голосов
/ 22 января 2010

Если вы управляете выводом, вы можете заменить все специальные символы на экранированные символы Юникода (например, \u00e4 для ä). Браузер может правильно его интерпретировать независимо от кодировки документа.

Самый простой способ сделать это - поместить строку в кодировщик JSON. И PHP, и Ruby делают это. Не знаю о других реализациях.

Еще одно решение, которое может работать, - добавить charset="utf-8" в тег <script>.

...