Tomcat URL Encoding設定
Tomcatのドキュメントによると、URLのデコードは指定しない場合、デフォルトでISO-8859-1に設定される。そのため、設定を行わずに韓国語をGETで渡すと文字化けする。一方、POSTで渡される場合は、HTTP bodyの入力ストリームがデフォルトでUTF-8としてデコードされるため問題はない。
これはTomcat設定でエンコーディングを変更すれば解決できる。{Tomcatインストールフォルダ}/conf/server.xml の次の <Connector> 要素に、URIEncoding をUTF-8として設定する。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
Apacheと連携するために mod_jk を使用する場合は、mod_jk の設定部分にも同様の変更を行う。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>