verter
1

проблема с русскими буквами при использовании метода navigate()

09.06.2011, 12:12. Показов 2204. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Файл jsp строит html-документ, в котором имеется форма, на которой есть текстовое поле и селект. На onChange() селекта повешан обработчик в виде js-функции, в которой кое-что делается и по завершении опять вызывается этот же jsp-файл, т.е. html-страница перегружается, поэтому приходится посылать параметром значение текстового поля. В функции делается перезагрузка так:
navigate('имя_файла.jsp?текстовой_параметр='+значение_текстового_параметра);
Страница перегружается, но в текстовом поле вместо русских букв появляются вопросики.
такую вещь прописываю:
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
и всё равно не помагает. Подскажите как правильно сделать?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2011, 12:12
Ответы с готовыми решениями:

Проблема с русскими буквами при отправке формы.
Проблема, с которой мне раньше никогда не приходилось сталкиваться. Вобщем если человек вводит в...

Проблема при использовании сокетов с русскими буквами.
ДЕЛО В ТОМ ЧТО ПРИ ПЕРДАЧИ ДАННЫХ МЕЖДУ КЛИЕНТОМ И СЕРВЕРОМ ИСПОЛЬЗУЮТСЯ ТАКИЕ ЗАМОРОЧКИ КАК ПОТОКИ...

Проблема с русскими символами при использовании объекта MSXML2.XMLHTTP
Пытаюсь с gismeteo.ru выдрать таблицу погоды код следующий: &lt;% Set objXMLHTTP =...

Проблема с кодировкой при выводе содержимого из файла 1.js (то что написано русскими буквами) на страницу браузера
https://metanit.com/web/nodejs/4.1.php Я делаю лабораторную все по порядку как написано на сайте...

14
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,907
09.06.2011, 12:30 2
Попробуй сделать на странице такую форму
<form name='reload' action='имя_файла.jsp' method='get'>
<input type='hidden' name='текстовой_параметр' value=''>
</form>
Вместо navigate(...) пишем
var f = document.forms['reload'];
f.elements['текстовой_параметр'].value = значение_текстового_параметра;
f.submit();
0
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
09.06.2011, 12:33 3
А причем тут JS? Копай в своем Java )
0
verter
09.06.2011, 12:40 4
Для vers: Я согласен, не по теме немного, просто проблемка у меня в использовании navigate(), а это javascript, поэтому я здесь решил спросить.
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
09.06.2011, 12:50 5
Ну попробуй вариант bazile. Он самый пральный. Еще может попробовать
функцию escape()

navigate('имя_файла.jsp?текстовой_параметр='+escape(значение_текстового_параметр а));

Но она какая та крывая ...
0
verter
09.06.2011, 12:51 6
для bazile: Спасибо за помощь! Может и получится так, но это на самом деле не решение проблемы, а её обход, а хочется понять почему же русские буквы не отображаются? К тому же на submit формы у меня срабатывает action, который грузит на клиента с помощью другого jsp-файла другую страничку.
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,907
09.06.2011, 12:59 7
verter, предложенный мною способ как раз и призван выяснить где проблема возникает - браузер неправильно русский текст передает или jsp неправильно его получает.

Можно еще попробовать перед вызовом navigate(...); добавить alert(значение_текстового_параметра) и посмотреть что он выдает.

> К тому же на submit формы у меня срабатывает action, который
> грузит на клиента с помощью другого jsp-файла другую страничку.
Не понял что ты имеешь в виду.
0
verter
09.06.2011, 13:15 8
<form name='Form' action='form_action.jsp' method='post'>

когда в js-функции делаю Form.submit(), то срабатывает её action
а в 'form_action.jsp' делается следующее:

if (request.getMethod().compareToIgnoreCase('post') != 0) {
response.sendRedirect(request.getHeader('Referer'));
return;
}
response.sendRedirect('другая.jsp');
verter
09.06.2011, 13:20 9
для bazile: да, забыл сказать, что alert(), поставленный перед вызовом navigate() возвращает нормальные русские буквы, т.е. в jsp как-то неправильно кодировка задаётся.
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,907
09.06.2011, 13:20 10
По моему ты что-то мудришь. Я предлагаю сделать _еще одну_ форму со своим action. Сервер не в состоянии отличить результат работы
----------
navigate('имя_файла.jsp?текстовой_параметр='+значение_текстового_параметра);
----------
и
----------
<form name='reload' action='имя_файла.jsp' method='get'>
<input type='hidden' name='текстовой_параметр' value=''>
</form>
...
var f = document.forms['reload'];
f.elements['текстовой_параметр'].value = значение_текстового_параметра;
f.submit();
----------
для него это один и тот же get запрос.
0
verter
09.06.2011, 13:32 11
для bazile: извини, но я не могу с тобой согласиться, потому что я сейчас ещё раз проверил: navigate() и form.submit() воспринимаются сервером по-разному, а именно: если используешь navigate(тот_же_самый.jsp), то action формы не срабатывает, а если делаешь form.submit(), то срабатывает.
verter
09.06.2011, 13:34 12
для bazile: может это потому так, что я использую метод 'post', а не 'get'?
verter
09.06.2011, 13:34 13
для bazile: может это потому так, что я использую метод 'post', а не 'get'?
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,907
09.06.2011, 13:34 14
> может это потому так, что я использую метод 'post', а не 'get'?
Да
0
verter
09.06.2011, 14:16 15
решил проблемку: нужно было правильно настроить web-server: я использую Tomcat 5.5.7 В его конфигах, а именно в Tomcatcfgserver.xml нужно для порта 8080, который я использую прописать дополнительно следующий параметр: useBodyEncodingForURI='true'
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2011, 14:16
Помогаю со студенческими работами здесь

Проблема с русскими буквами
Всем привет! Столкнулся с проблемой: по идее, когда вводишь русскую маленькую букву, то должен...

Проблема с русскими буквами в БД Access
Пробую на иностранном сервере писать скрипты на ASP к БД Access. Обнаружилась любопытная...

Проблема с кодировками (с русскими буквами) в консольном приложении.
Что нужно дописать чтобы программа выводила все надписи на русском языке, а не только первую? ...

Проблема с русскими буквами, когда работаю с ResourceBundle.getBundle()!
Прошу прощения, что поднимаю забытую тему. Но то, что я нашел в архивах не помогло мне решить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru