StrutsによるWebアプリケーションスーパーサンプル(ソフトバンククリエィティブ)の本の中で文字化けを解消するためにfilter.jarというものを使用しています。 filter.jarの中EncodingFileter.javaの内容は以下のとおりです。 ここから-----------------------------------------------------/* /* * Created on 2004/06/15 * EncodingFileter.java */ package filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; /** * EncodingFileter.java * Copyright 2004 A.Takayasu * */ public class EncodingFileter implements Filter{ public void destroy() { } public void doFilter(ServletRequest request,ServletResponse response, FilterChain chain)throws IOException, ServletException { request.setCharacterEncoding("Windows-31J"); chain.doFilter(request,response); } public void init(FilterConfig config) throws ServletException { } } ここまで--------------------------------------------------- あと、web.xmlの中で以下のような記述があります。 ここから-------------------------------------------- <!-- エンコーディングフィルタの設定 --> <filter> <filter-name>Encoding</filter-name> <filter-class>filter.EncodingFileter</filter-class> </filter> <filter-mapping> <filter-name>Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ここまで--------------------------------------------------- Windowsからのリクエストの場合は、Windows-31Jの設定でいいと思うのですが、それでも文字化けが起こります。 試しに、Windows-31Jの部分をShift_JISに変更してコンパイルして jarファイルを作成してjarファイルを差し替えてみたのですが、 文字化けしてしまいます。jarファイルの中身は確かにShift_JISに 変わっているのを確認しています。 なにかほかに設定するところがあるのでしょうか? 原因がわからなくて困っています。 ちなみにTomcatのバージョンは、jakarta-tomcat-4.1.29で strutsは1.1です。 どうかご教授よろしくお願いします。
↧