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


Автор: belarusrulez 8.11.2010, 15:07
в JSP стоит
<%@page contentType="text/html" pageEncoding="UTF-8"%>
request.setCharacterEncoding('UTF-8'); 

также на форме на всякий случай стоит
accept-charset='UTF-8'

всё равно в request приходит абра-кадабра

Автор: carper 8.11.2010, 16:57
Так работает:
Код

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>


?

Автор: Skipy 8.11.2010, 17:14
Почитайте вот это: http://www.skipy.ru/technics/encodings_webapp.html

Автор: belarusrulez 9.11.2010, 11:56
post работает get не работает ...

Автор: Skipy 9.11.2010, 14:01
Строку запроса при get предъявите.

Автор: belarusrulez 9.11.2010, 14:17
http://www.sitename.com/search.jsp?search=%D0%BC%D1%8F%D1%81%D0%BE

скопировал

Автор: carper 11.11.2010, 10:33
Цитата(belarusrulez @  9.11.2010,  11:56 Найти цитируемый пост)
post работает get не работает ... 

Логично.

Отсюда два выхода:
1. Пользоваться POST 
2. Разбираться с настройками Apache, Tomcat, или что там у вас.
Всякие там URIEncoding="UTF-8", useBodyEncodingForURI="true".

Второй пункт плох хотя бы тем, что не всегда вам дадут возможность в этих настройках копаться.


Автор: Skipy 11.11.2010, 11:56
Цитата(belarusrulez @ 9.11.2010,  14:17)
http://www.sitename.com/search.jsp?search=%D0%BC%D1%8F%D1%81%D0%BE

UTF-8 в явном виде. Как паллиатив - перекодировка.

Код
String original = ...;
String correct = new String(original.getBytes("iso-8859-1"), "UTF-8")
.

iso-8859-1 в примере - та кодировка, в которой интерпретируются пришедшие байты.

Если у Вас строка интерпретируется изначально как iso-8859-1 (через символ идут Ð или Ñ) - Вам повезло, сможете декодировать. Если как Cp1251 (через символ Р и С) - хуже, комбинация 0хD098 обратно не восстановится.

А по-хорошему, как правильно писал carper - или переходить на POST (предпочтительнее), или возиться с настройками.

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