ASi

TomcatでUTF-8

tomcat & MySQLUTF-8 を使うには、まとめると下記が必要。

Tomcat

request

doRequest() などでリクエストを扱う前に、先ず

request.setCharacterEncoding("UTF-8");

を実行し、form のデータの解釈時の encoding を指定しなければならない。

さらに GET での query parameter についても同様にするには、server.xml の Connector
の設定に useBodyEncodingForURI="true" が必要なのだそうだ。(これはまだ未確認)

server.xml

    <Connector connectionTimeout="20000" port="8080"
     protocol="HTTP/1.1" redirectPort="8443"
     useBodyEncodingForURI="true"/>

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
     useBodyEncodingForURI="true"/>
response

responseに何か書く前に、先ず下記が必要。

response.setCharacterEncoding("UTF-8");

MySQL

/etc/my.cnf に下記が必要

character-set-server=utf8