概要
例えば、次のようなフォームで servlet にリクエストを送信する。<form method="get" action="/test.servlet"> <input name="query" /> <input type="submit" vallue="送信" /> </form>そして、Servlet 側で次のように文字列を受け取ると、日本語が文字化けしてしまう。
解決方法
Tomcat5 では、デフォルトでGETパラメータのときは setCharacterEncoding 指定を無視する仕様になったらしい。(ご参考: @IT)ということで、tomcat の conf/ ディレクトリの中にある server.xml で、Connector に「
useBodyEncodingForURI="true"」を追加すると改善される。
<Connector acceptCount="100" connectionTimeout="20000"
disableUploadTimeout="true" enableLookups="false"
maxHttpHeaderSize="8192" maxSpareThreads="75"
maxThreads="150" minSpareThreads="25" port="80"
redirectPort="8443"
useBodyEncodingForURI="true" />