Jsp + русские буквы
От: globus000 Украина  
Дата: 03.05.03 08:26
Оценка:
Товарищи, подскажите как сделать так чтобы jsp страничка могла нормально принимать параметры введенные в форму на русском (есмли можно с примером кода)
Заранее признателен
Удачи тебе, браток!
Re: Jsp + русские буквы
От: Blazkowicz Россия  
Дата: 03.05.03 11:01
Оценка:
Здравствуйте, globus000, Вы писали:

G>Товарищи, подскажите как сделать так чтобы jsp страничка могла нормально принимать параметры введенные в форму на русском (есмли можно с примером кода)

G>Заранее признателен

Просто в HTML прописать нужный charset.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Либо windows-1251... либо ещё какой.
Re[2]: Jsp + русские буквы
От: Аноним  
Дата: 08.05.03 05:20
Оценка: 2 (1)
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, globus000, Вы писали:


B>Просто в HTML прописать нужный charset.

B>
B><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
B>

B>Либо windows-1251... либо ещё какой.

Не — это для отображения на русском. А тут вопрос, чтобы из формы параметры нормально на русском
принимались. В Servlet 2.3 для этого ввели такую штуку, вот пример:


public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException
{
request.setCharacterEncoding("Cp1251");
// все — теперь getPrameter станет понимать русский
..
}
Re[3]: Jsp + русские буквы
От: VBez  
Дата: 21.10.04 10:06
Оценка:
А>Не — это для отображения на русском. А тут вопрос, чтобы из формы параметры нормально на русском
А>принимались. В Servlet 2.3 для этого ввели такую штуку, вот пример:

А раньше как это делалось?
Я вижу только метод getCharacterEncoding().
Никакого сеттера нету.
Re[4]: Jsp + русские буквы
От: VBez  
Дата: 21.10.04 10:28
Оценка:
Вот обнаружилось только такое решение
String[] paramValues=request.getParameterValues("someitem");
String firstName = new String(paramValues[0].getBytes("ISO-8859-1"), "UTF-8");

Теперб отображается нормально.
Но как-то криво это.
Re[5]: Jsp + русские буквы
От: MegaLexX Россия  
Дата: 21.10.04 10:45
Оценка:
Здравствуйте, VBez, Вы писали:

VB>Вот обнаружилось только такое решение

VB>
VB>String[] paramValues=request.getParameterValues("someitem");
VB>String firstName = new String(paramValues[0].getBytes("ISO-8859-1"), "UTF-8");
VB>

VB>Теперб отображается нормально.
VB>Но как-то криво это.

Я поступаю следующим образом:
1) На всех JSP-страницах, в самом начале, указываю <%@ page contentType="text/html; charset=windows-1251" %>
2) В заголовке страницы добавляю <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
3) В сервлетах, в самом начале методов get, post или service, записываю
request.setCharacterEncoding("windows-1251");
response.setCharacterEncoding("windows-1251");
response.setContentType("text/html");

(request и response — параметры методов обработки запроса)

Работает без проблем.
Re[6]: Jsp + русские буквы
От: VBez  
Дата: 21.10.04 10:46
Оценка:
У тебя Srvlet 2.3
Там такое можно.
А у меня более старая версия.
Нету там такого метода.
Re[7]: Jsp + русские буквы
От: Blazkowicz Россия  
Дата: 21.10.04 10:59
Оценка:
Здравствуйте, VBez, Вы писали:

VB>У тебя Srvlet 2.3

VB>Там такое можно.
VB>А у меня более старая версия.
VB>Нету там такого метода.

Может как-то фильтром забороть? Перекодировать все параметры и вернуть свою реализацию запрса которая будет возвращать перекодированные параметры а другие данные брать из исходного?
Re[7]: Jsp + русские буквы
От: MegaLexX Россия  
Дата: 21.10.04 11:00
Оценка:
Здравствуйте, VBez, Вы писали:

VB>У тебя Srvlet 2.3

VB>Там такое можно.
VB>А у меня более старая версия.
VB>Нету там такого метода.


Да, выше было написано, не заметил.

Есть маленькая статейка http://lib.juga.ru/article/mailtofriend/115/1/43/?PrintableVersion=enabled

Вроде как только вручную перекодировать придётся.
Re: Jsp + русские буквы
От: anterior_ Россия  
Дата: 22.10.04 07:46
Оценка:
Здравствуйте, globus000, Вы писали:

G>Товарищи, подскажите как сделать так чтобы jsp страничка могла нормально принимать параметры введенные в форму на русском (есмли можно с примером кода)

G>Заранее признателен

Лучше всего сделать фильтр. Здесь это подробно описано.
Эта ссылка проскакивала на нашем форуме довольно давно, но до сих пор лежит у меня в фаворитах. Очень уж полезная статья
Giving up smoking is the easiest thing in the world. I know because I've done it thousands of times. (c) Mark Twain
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.