※ ChatGPTを利用し、要約された質問です(原文:Strutsのfilter.jarを使用したときの文字化けについて)
Strutsのfilter.jarを使用したときの文字化けについて
このQ&Aのポイント
StrutsによるWebアプリケーションスーパーサンプル(ソフトバンククリエィティブ)の本の中で文字化けを解消するためにfilter.jarというものを使用しています。
Windowsからのリクエストの場合は、Windows-31Jの設定でいいと思うのですが、それでも文字化けが起こります。
試しに、Windows-31Jの部分をShift_JISに変更してコンパイルしてjarファイルを作成してjarファイルを差し替えてみたのですが、文字化けしてしまいます。
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です。
どうかご教授よろしくお願いします。
お礼
askaaskaさんご回答ありがとうございます。 原因がわかりました。 よく考えると文字化けしている部分とそうでない部分があったので よくよく考えてみるとstrutsのApplicationResource.propertiesを unicodeに変換していないのが原因でした。 おさわがせして誠に申し訳ありません。 ご回答には感謝しています。今後に生かしてまいりたいと思います。 また、質問等がありましたらそのときはよろしくお願いします。