Tomcat 5.x 以降では、GET メソッドでデータを送信すると日本語の文字化けが起きる。GET メソッドを用いると request.setCharacterEncoding が無視されるためである。これを回避する方法は三つ。
- GET メソッドではなく POST メソッドを用いる
- GET メソッドで日本語を送信しない
- %TOMCAT_HOME%/conf/server.xml の Connector 要素に useBodyEncodingForURI = "true" を追加する
ただし基本は POST メソッドで送信するべきで、他の方法はお勧めできない。