![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| boombick |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 20.4.2005 Где: Moscow, Russia Репутация: нет Всего: 9 |
Поиском пользовалься, но, вероятно, плохо пользовался потому что ничего не нашел...
Суть проблемы вот в чем: При помощи AJAX формирую простой GET-запрос на сервер... По идее данные приходят в юникоде, поэтому на стороне сервера делаю прекодировку
И кладу все в базу... Проблема вот в чем: из оперы и IE текст нормально приходит в юникоде, перекодируется и кладется в базу в оптимальном виде.. А из firefox приходит что-то непонятное вида я-п?я? - это строка "тест". Естественно, перекодировки не происходит... Такая фигня творится только с Firefox. Для работы с ajax использую prototype, запрос делаю вот так:
Но даже если ajax не использовать, а руками вбить в адресную строку браузера Get-запрос, все равно данные приходят в непонятном виде... Помогите плиз! -------------------- |
||||
|
|||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
я использую технологию AJAX в TurboGears (фрэймворк для питона под веб) и каких-то проблем с ним не было и вспомнить не могу.
Думаю что тут также - видимо ты запутался с кодировками. |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Тема всесторонне и многократно обсуждалась, дело в том, что XmlHttpRequest передаёт данные всегда в Unicode, поэтому перекодировать нужно на клиенте. Поиск по словам: "кодировка XmlHttpRequest" в "Javascripts" (форма вверху)
|
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
проблема решена?
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
boombick, попробуй текст закодировать через encodeURIComponent(текст). Хотя по идее лиса должна делать это сама...
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| boombick |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 20.4.2005 Где: Moscow, Russia Репутация: нет Всего: 9 |
Пока не решена, сегодня отпишусь о результатах использования encodeURIComponent
Это сообщение отредактировал(а) boombick - 16.10.2006, 08:38 -------------------- |
|||
|
||||
| Red Wind |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 280 Регистрация: 25.6.2004 Где: Минск Репутация: нет Всего: 2 |
У меня была похожая проблема я всё решил с помощю одной сторчи в web.config. Конечно, это решение только для asp.net.
А ещё, можно поковырять настройки кодировок у вашего сервера. Это сообщение отредактировал(а) Red Wind - 23.11.2006, 21:20 |
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
Red Wind, класс!
Может легче просто на клиенте использовать utf-8 ? |
|||
|
||||
| Red Wind |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 280 Регистрация: 25.6.2004 Где: Минск Репутация: нет Всего: 2 |
Спасибо!
pythonwin, не совсем понял вопрос... Этой строкой мы заставляем .net воспинимать всё что приходит к нам от клиента, и всё что уходит от сервера клиенту как utf-8. На сколько я знаю, все строковые переменные в JavaScript тоже в юникоде. Следовательно, все строки идущие на сервер от клиента будут в юникоде. А следовательно, не надо производить никаких перекодировок руками. По-моему, проще некуда. Я ответил на ваш вопрос? |
|||
|
||||
| tolik777 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 19.6.2006 Репутация: 1 Всего: 2 |
Тоже такая проблема. В FireFox не приходят данные. Пробовал и указывать:
http_request.setRequestHeader("Content-Type","charset=UTF-8"); и так пробовал: http_request.setRequestHeader("Content-Type","charset=windows-1251"); Но данные приходят только тогда, когда этих строчек вообще нет. Но тогда в некоторых других браузерах не работает. Хотя передаю только цифры. А на функцию EncodeURIComponent , FireFox ругается: Ошибка: EncodeURIComponent is not defined Никак не пойму как сделать универсальный код под все три браузера |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
encodeURIComponent - это метод window (глобальная функция). -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |