Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

ぽけ

tomcatを使いウェブアプリケーションをブラウザで表示させるということを行っています。

ブラウザで表示するさいに文字化けをするのでfilterを使い文字化けを消す作業をしています。

どうしてもうまくいかず質問をしようと思った次第です。

フィルタークラスのソースです。

import java.io.*;
import javax.servlet.*;

public class EncodingFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {

// エンコーディング指定
req.setCharacterEncoding("UTF-8");
// 元々要求されていたリソースを呼び出します
chain.doFilter(req, res);
}
public void init(FilterConfig config) throws ServletException {
}
public void destroy() {
}
}

です。
その後にweb.xmlに

<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>EncodingFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

という記述を付け加えています。

どこが間違っているのかさっぱりわかりません。
よろしければご教授ください。お願いします。

4

回答

83052

閲覧

4件の回答

評価

0

>req.setCharacterEncoding("UTF-8");
これが合っていると、何を持って判断しました?

どこかのページでそうやってたから、というだけだと、そのページではうまくいってても自分のアプリで同じかどうかは分からないですよ?

評価

0

>$さん
今起動しようとしているアプリのすべてのJSPとServletの文字コードはUTF-8で統一しているから、UTF-8で合っていると思いました。

ここが違うんですかね?

評価

0

つhttp://d.hatena.ne.jp/hyperash/20040309

評価

0

ソースの文字コードと、送信の際の文字コードは必ずしもイコールではないです。
送られてきてるコードを見てみると良いんでは?

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。