Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • 締切済み

apache + tomcat + jsp

apache + tomcat + jsp であるサイトを作っています。 文字コード「Shift_JIS」のHTMLページを返しているのですが、 ブラウザの設定がデフォルト「Unicode」になっている場合、 文字化けします。(「Shift_JIS」に設定し直すとみれます。) あるサイトを見ると、同じく「Shift_JIS」のHTMLページがあるのですが、 ブラウザが勝手に文字コード「Shift_JIS」と判断して表示しています。 上記のような動きをブラウザにとらせるには、どのような事をするべきなのでしょうか? (ちなみに、携帯用サイトでPCからの閲覧可です)

みんなの回答

  • yyyyzzzz
  • ベストアンサー率0% (0/0)
回答No.2

Tomcatルートディレクトリのconfフォルダの中のweb.xmlの設定 <servlet> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param> <param-name>javaEncoding</param-name> <param-value>Shift_JIS</param-value> </init-param> にしてみたらどうでしょうか? JSPをプリコンパイルする際に、デフォルトだとUTF-8になって文字化けしたりします。 プラス、PED02744が回答されているように、~;charset=Shift_JISや、metaタグの記述も必須ですね。

mozori01
質問者

お礼

ご回答ありがとうございます。 Tomcatのweb.xmlに上記設定を追加してみましたが、 結果は変わらずでした。 jspのcharset、tomcatのweb.xml以外に、原因は考えられますでしょうか? また、うまく動作しているサーバ環境と、動作しないサーバ環境の違いは、 apacheだけです。apacheに何か設定追加する項でもあるのでしょうか?

すると、全ての回答が全文表示されます。
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

JSPで作っているページだとして、 ~.jsp の先頭に <%@ page contentType="text/html; charset=Shift_JIS" %> があって、 <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> これが書かれていても化けるということでしょうか?

mozori01
質問者

補足

はい。charaset=Shift_JISは指定しています。 実は上記の、  1)ブラウザが「Shift_JIS」と認識しないHTML  2)ブラウザが「Shift_JIS」と認識するHTML は、同じjspが発行しています。 あるサーバで動いていた、「apache + tomcat + jsp」サイトを、 別サーバに移行(中身はコピー)してきたときに、この現象が発生しました。 そのため、apacheあたりに何か設定が必要なのか、とも思っていたのですが・・どうなんでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A