У меня есть все в UTF-8. Это включает Content-Type, базу данных, файлы, java, все (если только я что-то пропустил).JBoss AS 7.1 - Запрос параметров кодирования
Я следую многочисленным ответам stackoverflow, JIRAs, блогам и т. Д., Но он все еще не работает.
Сама проблема заключается в следующем:
Когда я представить, давайте предположим, к http://localhost:8080/app/searh?text=café
, отладки, мой request.getParameter("text")
всегда неправильно, что-то вроде café
и request.getCharachterEncoding()
дает мне null
(?).
Глядя на заголовки запроса, я получил это:
GET http://localhost:8080/app/search?text=caf%C3%A9 HTTP/1.1
Host: localhost:8080
Proxy-Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17
Referer: http://localhost:8080/app/search?text=n%C3%A3o
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: UTF-8,*;q=0.5
Cookie: JSESSIONID=OMMITED
И заголовки ответов:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 21:00:00 BRT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Tue, 19 Mar 2013 14:06:24 GMT
Proxy-Connection: keep-alive
Connection: keep-alive
Это все UTF-8. Я просто не понимаю.
Я попытался передать -Dfile.encoding=UTF-8 -Dfile.io.encoding=UTF-8 -DjavaEncoding=UTF-8
в моей standalone.conf
JAVA_OPTS
переменной, пытался поставить
<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
в моем standalone.xml
. Ничто из этого не решает проблему.
Что я могу сделать, чтобы исправить это?
Заранее спасибо.
BTW: JBoss AS 7.1.1.
Привет, спасибо за ваш ответ; Первое решение, которое я уже пробовал, не сработало. Использование POST в моем случае не имеет смысла, потому что это поиск, и я хочу, чтобы пользователи могли скопировать URL-адрес. Я также попробовал ваше второе решение, и ошибка сохраняется. Pretty creepy ... Спасибо – caarlos0
Привет, Caarlos, я ответил наизусть, но мне было немного любопытно о вашей проблеме, и теперь я подготовил пример: я воспроизвел вашу проблему, и я, наконец, сделал это, и решение работает как в Jboss 5.x, так и в 7. Дело в том, что первые два решения, которые я дал, на самом деле являются одним единственным решением, поэтому чтобы он работал, вы должны определить свойства систем, и, кроме того, вы для декодирования параметра. Я изменил ответ. – Toni
Спасибо, я буду считать это = D – caarlos0