1. SergeantPEPPER - 11 Февраля, 2008 - 18:51:59 - перейти к сообщению
Хорошо, теперь возникла новая проблема: AJAX запрос возвращает строку (свойство responseText), в которой содержатся русские символы. Так вот, начиная с них строка портится и глотает 6-7 последующих символов. Как можно корректно передать русский текст через AJAX? Заранее спасибо)
2. SergeantPEPPER - 21 Февраля, 2008 - 18:41:37 - перейти к сообщению
Попробую частично ответить на свой вопрос сам...
Сама проблема у меня возникала не во время ответа сервера, как оказалось, а во время отсылки инфы на сервак. Так вот, у меня на сервер методом GET должны были передаваться русскоязычные страна и город.
Я при формировании url пользовался js функцией escape () - она являлась первой причиной несоответствия желаемого с действительным После ее отработки символы представлялись в виде #u****, где **** - четырехзначное число.
Вообще, это является нормальным (видимо), но вот каких-либо функций (не рукописных), которые декодировали бы данные в исходный вид, я не нашел...
А чисто по механизму AJAX нужно пользоваться его родной кодировкой utf-8, т.е. данные переводить из своей кодировки, а потом ответ обратно декодировать.
Как ни странно, у меня почему-то AJAX работает не переводя кодировок, а я использую cp1251 ??? Не знаю даже почему...
Если не трудно, подскажите pls какую-нибудь javascript-функцию переводящую из utf-8 в cp1251. Заранее спасибо)
Сама проблема у меня возникала не во время ответа сервера, как оказалось, а во время отсылки инфы на сервак. Так вот, у меня на сервер методом GET должны были передаваться русскоязычные страна и город.
Я при формировании url пользовался js функцией escape () - она являлась первой причиной несоответствия желаемого с действительным После ее отработки символы представлялись в виде #u****, где **** - четырехзначное число.
Вообще, это является нормальным (видимо), но вот каких-либо функций (не рукописных), которые декодировали бы данные в исходный вид, я не нашел...
А чисто по механизму AJAX нужно пользоваться его родной кодировкой utf-8, т.е. данные переводить из своей кодировки, а потом ответ обратно декодировать.
Как ни странно, у меня почему-то AJAX работает не переводя кодировок, а я использую cp1251 ??? Не знаю даже почему...
Если не трудно, подскажите pls какую-нибудь javascript-функцию переводящую из utf-8 в cp1251. Заранее спасибо)
3. RomAndry - 21 Февраля, 2008 - 19:35:19 - перейти к сообщению
используй encodeURIComponent()
покопайся, думаю поможет
покопайся, думаю поможет
4. evgenijj - 21 Февраля, 2008 - 20:47:40 - перейти к сообщению
5. SergeantPEPPER - 22 Февраля, 2008 - 16:18:50 - перейти к сообщению
Спасибо, ссылка помогла (encodeURIComponent()
пока не проверял) - русскоязычносовместимый escape должен помочь.
пока не проверял) - русскоязычносовместимый escape должен помочь.