Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
epros Гость
|
Добавлено: Чт Фев 27 2003 19:59 Заголовок сообщения: Если страничка создается Java-скриптом... |
|
|
... а не грузится с сервера, у меня наблюдается такой пренеприятный глюк:
В посылаемых с нее запросах русские буквы почему-то url-енкодятся не так как нужно. Так что сервер вместо русского текста, внесенного в сгенерированную форму, принимает белиберду. Интересно, что если ту же страничку сохранить в виде html-файла и загрузить ту же форму из файла, то внесенный в нее русский текст url-енкодится правильно.
От наличия или отсутствия на страничке мета-тега c указанием charset этот эффект не зависит. Да, если записывать скриптом не всю страничку целиком с помощью document.write, а только отдельный слой с помощью установки его свойства innerHTML, эффект тоже не наблюдается.
Что бы это могло быть: особенность браузера или я чего-то не понимаю? |
|
Вернуться к началу |
|
|
DrBorman Гость
|
Добавлено: Чт Фев 27 2003 20:05 Заголовок сообщения: Скорее это особенность сервера. Такое может происходить, если на сервере установленна автоматическа перекодировка(-) |
|
|
- |
|
Вернуться к началу |
|
|
epros Гость
|
Добавлено: Чт Фев 27 2003 22:18 Заголовок сообщения: Нашел!!! |
|
|
Оказывается, когда клиентский javascript создает документ (не слой, а именно документ), он устанавливает ему свойство charset, которое ему кажется наиболее правильным, а именно: 'unicode'. При этом мета-тег с указанием кодовой страницы, определенный в самом документе, во внимание не принимается.
Нужно просто установить document.charset для сгенерированной странички такой же, как и для материнской странички, скажем 'windows-1251'. Проверил, работает.
Неприятность состоит в том, что это свойство является таковым в Эхсплорере, а как поведут себя другие браузеры - неизвестно. |
|
Вернуться к началу |
|
|
|