- - PR -
Tomcat経由で表示するHTMLファイルが文字化け
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-12-18 10:19
いつもお世話になっています。
msoです。 現在、テスト環境でtomcatを使ってHTMLを表示しています。 (http://localhost:8080/index.htmlというような感じ) そこでマルチバイト(日本語)を表示させると ISO-8859-1 で表示されます。 自分で解決方法として、HTMLファイルにMETAタグでEUC-JPを セットしているのですが、それでも文字化け(ISO-8859-1で表示)されます。 web.xml server.xmlなどを確認してみたり、過去ログやgoogleでの 検索をしてみたのですが私の理想的な解決方法をみつけるにいたりませんでした。 ただ、一度Unicodeに変換すれば大丈夫というような記事をみつけました。 個人的にはHTMLファイルの修正をするたびにUnicodeの変換を やりたくないのでtomcatからHTMLファイルを小細工(Unicodeへの変換)なしで 表示させたいと思っています。 tomcatの設定を変更することでHTMLファイルのマルチバイトを正しく 表示させるようなことはできないものでしょうか? | ||||
|
投稿日時: 2003-12-18 10:45
Tomcat4.1.29にはhtmlファイル送信時に勝手にcharset ISO-8859-1を設定するバグがあるので注意が必要です。googleで"tomcat4.1.29 文字化け"で検索するといくつか情報が載っているサイトがヒットします。
| ||||
|
投稿日時: 2003-12-18 10:52
tomcat 4.1.29を使っていて、googleで検索をしたところ 見事にバグ(?)の現象がそのままでているようです。 個人的なところですが、下記の対応方法でやってみようと思います。 具体的な解決策は自分でいろいろと実見してから ここに公開させてもらいます。 http://hp.vector.co.jp/authors/VA000137/tomcat-memo.html | ||||
|
投稿日時: 2003-12-18 13:26
msoです。
解決できました。 ソースからバグを修正する方法とか (よくわからないですが、)Filterする方法とか。 んでもって、私の環境にあっていてもっとも 簡単であろう修正方法をしました。 手順は下記のとおりです。 1:$CATALINA_HOME/conf/web.xmlの修正 mime-mappingのmime-typeに ;charset=EUC-JP を追加して強制的に文字コードをセットさせる。 <mime-mapping> <extension>html</extension> <mime-type>text/html;charset=EUC-JP</mime-type> </mime-mapping> 2:根拠はないけど、tomcatの再起動 3:ブラウザで動作確認→最初はキャッシュで おかしいままでしたが、リロードしたら 正しく表示されました。 | ||||
|
投稿日時: 2003-12-18 13:49
自己レスです。 私が使っている通常のDebug環境がRedHat8 and Mozillaなので 気がつかなかったのですが、Windows XP and IE6.0で テストをしたところまだばけていました。 そこで <mime-type>text/html; charset=EUC-JP</mime-type> というようにtext/html;の後にスペースをいれることで 解決することが出来ました。 ちょこっとですが訂正しておきます。 | ||||
1
