tomcat5でGETメソッドのリクエストパラメータが文字化けする

| | コメント(0) | トラックバック(0)

概要

例えば、次のようなフォームで 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" />

Eclipse WTP での設定方法

Eclipse 3.3.2 の WTP で tomcat を起動している場合は、左側ペインの「パッケージ・エクスプローラ」の中に「Servers」プロジェクトがあるので、その中の server.xml を修正する。

トラックバック(0)

このブログ記事を参照しているブログ一覧: tomcat5でGETメソッドのリクエストパラメータが文字化けする

このブログ記事に対するトラックバックURL: http://trasis.jp/cgi-bin/mt/mt-tb.cgi/68

コメントする

2012年4月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30