Strutsのfilter.jarを使用したときの文字化けについて
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です。
どうかご教授よろしくお願いします。
お礼
返事遅くなってすみません。 参考になりました。ありがとうございます。