>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >[?] Перекодировка в Windows-1251 http://forum.mozilla-russia.org/viewtopic.php?id=19109 |
XuTMAH > 20-09-2007 01:21:44 |
Пишу расширение для Firefox и столкнулся с такой проблемой: Вопрос заключается в следующем, как мне независимо от платформы (Windows, Linux, Mac) и версии браузера (русская, английская, ...) переконвертировать строку в кодировку Windows-1251, и если там присутствуют символы которых нет в кодировке 1251, то заменить их например на знак вопроса ? Вот что используется сейчас (и естественно работает, только на русской винде) |
Shutnik > 20-09-2007 05:38:26 |
XuTMAH |
XuTMAH > 20-09-2007 11:19:52 |
Ну само собой приведёт, но он ожидает увидеть только кодировку Windows-1251 и следовательно каждая последовательность %NN приведётся к одной какой-то букве, а если ему передаётся юникодный символ, а у юникода 2 байта на букву, то одна буква передастся на сервер в виде %NN%MM, а сервер будет интерпретировать эту последовательность не как один символ, а как два, и в итоге получаются каракули... |
XuTMAH > 28-09-2007 19:42:06 |
Ну а вообще, как перевести из юникода в Windows-1251 ? |
Anton > 28-09-2007 20:11:19 |
Выделить код Код:var s = "строка"; var suc = Components. classes ["@mozilla.org/intl/scriptableunicodeconverter"]. createInstance (Components. interfaces. nsIScriptableUnicodeConverter); suc. charset = "windows-1251"; var cs = suc. ConvertFromUnicode (s); print (cs); |
XuTMAH > 01-10-2007 09:41:03 |
Спасибо! Всё получилось, всё работает! |
_backup > 11-10-2007 23:14:02 |
А у меня проблемы с кириллицей Windows-1251. А точнее, отображается как западноевропейская ..search.php?q=Кириллица - Êèðèëëèöà. Как сие побороть? Добавлено: Проблема разрешилась, был конфликт с расширением Gmail Manager . Отключил его на .... потому как нефиг кириллицу в западноевропейскую конвертить. |