私はUTF-8にすべてを持っています。これには、Content-Type、データベース、ファイル、Java、すべてが含まれます(何かを見逃していない限り)。
私は多くのstackoverflowの回答、JIRA、ブログなどをフォローしていますが、それでも失敗します。
問題自体は次のとおりです。
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
。これで問題が解決するものはありません。
これを修正するために何ができますか?
前もって感謝します。
ところで:JBossAS7.1.1です。