Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Сервлет и UTF-8


Автор: nogoody 29.10.2007, 18:20
Проблема в следующем... в сервлете из поля INPUT получаю текст... 2 байта... В кодировке UTF-8


response.setCharacterEncoding("UTF-8");
edits[0] = new String(request.getParameter("Who");


Но при выводе edits[0] получаю абру-кадабру вместо русских символов...
Все странички задаются в UTF-8

Автор: Kangaroo 29.10.2007, 18:27
А почему
Код

response.setCharacterEncoding("UTF-8");

а не
Код

request.setCharacterEncoding("UTF-8");

?

Автор: nogoody 30.10.2007, 13:57
Не помогло...
вот текст сервлета

        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");
        request.setCharacterEncoding("UTF-8");
        PrintWriter out = response.getWriter();
        
        HttpSession httpsession = request.getSession(true);
        String edits = new String;
        edits = new String(request.getParameter("name"));
                out.println(new String(edits);

На выходе получается проблема с отображением русских символов

Автор: olegrolik 1.11.2007, 11:48
Попробуй может вот так: response.setContentType("text/html;charset=UTF-8");
Или попробуй тупо response.setContentType("text/html;charset=Windows-1251");
вдруг получится? smile

Автор: Kangaroo 1.11.2007, 13:50
Странно, только что попробовал твой код и все работает.
Если закомментировать одну из этих строк:
Код

 response.setCharacterEncoding("UTF-8");
 request.setCharacterEncoding("UTF-8");

то абракадабра получается, что есть логично.

Автор: nogoody 1.11.2007, 15:02
Все... решил... всем спасибо...

Автор: Kangaroo 1.11.2007, 15:16
Цитата(nogoody @ 1.11.2007,  14:02)
Все... решил... всем спасибо...

Поделись, пожалуйста, что было не правильно, нам же интересно )

Добавлено через 18 секунд
И на будущее полезно..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)