powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с кодировкой Servlet+jsp
15 сообщений из 15, страница 1 из 1
Проблема с кодировкой Servlet+jsp
    #33138544
Plut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в jsp есть что то типа такого


Код: plaintext
<input type="text" name="blablabla" value="ТЕМА">

при получении

Код: plaintext
 System.out.println(request.getParametr("blablabla"))

выдается ????
Вопрос как получить ТЕМА
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33138580
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поиск таки по прежнему рулит :-))

http://www.sql.ru/forum/actualthread.aspx?tid=159845&hl=%ea%ee%e4%e8%f0%ee%e2%ea%e0

Копирайт Vinny Puhh ;-))

Vinny Puhhточнее вот так:

PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=Windows-1251");
request.setCharacterEncoding("Cp1251");

и эти строчки должны быть ПЕРВЫМИ в методе сервлета.... (doGET, doPOST....)
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33138584
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
String Name =  new  String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
Это?
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33138585
D.O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А System.out в данном случае - это куда - в консоль Windows или в консоль твоей IDE? Если в Windows, то он там не станет правильно показывать символы unicode.

Это ещё одна возможная причина, а не только сами по себе проблемы с кодировкой в JSP или Servlet'е.
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33138587
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или поподробней от старших товарищей:

http://people.comita.spb.ru/users/sergeya/java/ruschars.html
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33138625
Plut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор ttp://www.sql.ru/forum/actualthread.aspx?tid=159845&hl=%ea%ee%e4%e8%f0%ee%e2%ea%e0

Копирайт Vinny Puhh ;-))

авторVinny Puhh
точнее вот так:

PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=Windows-1251");
request.setCharacterEncoding("Cp1251");

и эти строчки должны быть ПЕРВЫМИ в методе сервлета.... (doGET, doPOST.... пробовал - не помогло
авторString Name = new String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
Завтра обязательно попробую - сегодня не на работе :)
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33138631
ява-гуест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexMDПоиск таки по прежнему рулит :-))

http://www.sql.ru/forum/actualthread.aspx?tid=159845&hl=%ea%ee%e4%e8%f0%ee%e2%ea%e0

Копирайт Vinny Puhh ;-))

Vinny Puhhточнее вот так:

PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=Windows-1251");
request.setCharacterEncoding("Cp1251");

и эти строчки должны быть ПЕРВЫМИ в методе сервлета.... (doGET, doPOST....)
замечание: в данном случае актуальна строка

request.setCharacterEncoding("Cp1251");

проще всего сделать фильтр:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 package  net.fpestde.web;

 import  javax.servlet.*;
 import  java.io.IOException;

 public   class  CharsetFilter  implements  Filter {
  // кодировка
   private  String encoding;

   public   void  init(FilterConfig config)  throws  ServletException {
    // читаем из конфигурации
    encoding = config.getInitParameter("requestEncoding");

    // если не установлена - устанавливаем Cp1251
     if  (encoding ==  null )
      encoding = "Cp1251";
  }

   public   void  doFilter(ServletRequest request, ServletResponse response, FilterChain next)
       throws  IOException, ServletException {
    request.setCharacterEncoding(encoding);
    next.doFilter(request, response);
  }

   public   void  destroy() {
  }
}

и в web.xml:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
  <filter>
    <filter-name>Charset Filter</filter-name>
    <filter-class>net.fpestde.web.CharsetFilter</filter-class>
  </filter>
...
  <filter-mapping>
    <filter-name>Charset Filter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
...
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33139043
Plut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если делать фильтр он будет сразу все сервлеты обслуживать или
для каждого свой нужен?
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33139048
ява-гуест
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а это как <filter-mapping> настроишь. в приведенном примере -
фильтруются все запросы.
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33139740
Plut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Всем!
Поставил фильтр, потому что параметров полно и каждый раз делать
Код: plaintext
String Name =  new  String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
накладно :)
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33181521
risfek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько похожий вопрос.
Есть у меня страничка, из которой открывается модальный диалог (IE)
Передаю в нее всякие русские буквы. Получаю вопросики.
Делал фильтр, как в примере выше, (в страничке писал
Код: plaintext
request.setCharacterEncoding("Cp1251");
).
Ничего не помогает, кроме
Код: plaintext
String Name =  new  String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
Попробовал открыть методом post (не модальное конечно) – все работает.
Методом get те же грабли что и при диалоге.
Хотелось бы знать, кто как побеждал.
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33181534
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>> request.setCharacterEncoding("Cp1251");
этот способ не работает в servlets 2.0 и выше, насколько я помню.
я пользуюсь этим:
>>> String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
[/quot]



--
Deady (The Bat! + MyGate)

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33181753
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deady>>> request.setCharacterEncoding("Cp1251");
этот способ не работает в servlets 2.0 и выше, насколько я помню.
я пользуюсь этим:
>>> String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
[/quot]
Работает.
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33182316
risfek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня работает, в случае если постом передано
зато если постом передано в кодировке 1251
String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
Все ест. попортит.
...
Рейтинг: 0 / 0
Проблема с кодировкой Servlet+jsp
    #33184092
space_center
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexMDПоиск таки по прежнему рулит :-))

http://www.sql.ru/forum/actualthread.aspx?tid=159845&hl=%ea%ee%e4%e8%f0%ee%e2%ea%e0

Копирайт Vinny Puhh ;-))

Vinny Puhhточнее вот так:

PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=Windows-1251");
request.setCharacterEncoding("Cp1251");

и эти строчки должны быть ПЕРВЫМИ в методе сервлета.... (doGET, doPOST....)

точнее должно быть так

response.setContentType("text/html;charset=Windows-1251");
PrintWriter out = response.getWriter();

В начале устанавливаем тип, потом только используем поток.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с кодировкой Servlet+jsp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]