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


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

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

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

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

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

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

http://people.comita.spb.ru/users/sergeya/java/ruschars.html
...
Рейтинг: 0 / 0
28.06.2005, 15:18
    #33138625
Plut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
автор 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
28.06.2005, 15:19
    #33138631
ява-гуест
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
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
28.06.2005, 18:05
    #33139043
Plut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
А если делать фильтр он будет сразу все сервлеты обслуживать или
для каждого свой нужен?
...
Рейтинг: 0 / 0
28.06.2005, 18:09
    #33139048
ява-гуест
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
а это как <filter-mapping> настроишь. в приведенном примере -
фильтруются все запросы.
...
Рейтинг: 0 / 0
29.06.2005, 10:52
    #33139740
Plut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
Спасибо Всем!
Поставил фильтр, потому что параметров полно и каждый раз делать
Код: plaintext
String Name =  new  String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
накладно :)
...
Рейтинг: 0 / 0
24.07.2005, 08:30
    #33181521
risfek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
Несколько похожий вопрос.
Есть у меня страничка, из которой открывается модальный диалог (IE)
Передаю в нее всякие русские буквы. Получаю вопросики.
Делал фильтр, как в примере выше, (в страничке писал
Код: plaintext
request.setCharacterEncoding("Cp1251");
).
Ничего не помогает, кроме
Код: plaintext
String Name =  new  String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
Попробовал открыть методом post (не модальное конечно) – все работает.
Методом get те же грабли что и при диалоге.
Хотелось бы знать, кто как побеждал.
...
Рейтинг: 0 / 0
24.07.2005, 10:40
    #33181534
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
>>> 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
24.07.2005, 22:01
    #33181753
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
Deady>>> request.setCharacterEncoding("Cp1251");
этот способ не работает в servlets 2.0 и выше, насколько я помню.
я пользуюсь этим:
>>> String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
[/quot]
Работает.
...
Рейтинг: 0 / 0
25.07.2005, 12:17
    #33182316
risfek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
У меня работает, в случае если постом передано
зато если постом передано в кодировке 1251
String(request.getParameter("Name").getBytes("ISO-8859-1"),"Cp1251");
Все ест. попортит.
...
Рейтинг: 0 / 0
26.07.2005, 09:57
    #33184092
space_center
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с кодировкой Servlet+jsp
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
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с кодировкой Servlet+jsp / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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