« prototype.js * YouTuber.jsp(Ajax) | メイン | Mac OSX * Apache2 * tomcat5 * mod_jk2 »

Tomcat5.5.x * 日本語

Tomcat4.xからTomcat5.x(今回は5.5.17)に移行した際、文字化けに当ったのでログ。


Tomcat5.xになってから、デフォルトでGETパラメータのURIのエンコーディングにutf-8を利用するようになっているようだ。なので[TOMCAT_HOME]/conf/server.xmlのConnector要素で

<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true"/>
とすれば良いらしいが、今回はこれでは直らなかった。 ここを参考に、 受け取る側のJSPで

[変更前]


request.setCharacterEncoding("UTF-8");
String keyword = request.getParameter("q");

[変更後]


// request.setCharacterEncoding("UTF-8");
String keyword = new String(request.getParameter("q").getBytes("ISO-8859-1"), "UTF-8");

としたら直った。



About

2006年08月25日 09:27に投稿されたエントリーのページです。

ひとつ前の投稿は「prototype.js * YouTuber.jsp(Ajax)」です。

次の投稿は「Mac OSX * Apache2 * tomcat5 * mod_jk2」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。