IEではメッセージが文字化けしてしまう
[上に]
[前に]
[次に]
Duck
2000/06/02(金) 09:59:03
サーバをUNIX(Soralis2.6)で開発しているのですが、
ソースの文字コードがEUCなので、HTMLヘッダーに
<meta http-equiv="Content-Type" content="text/html;charset=euc-jp">
としていますが、JavaScriptで確認メッセージ等を表示した場合
IEでは文字化けしてしまいます。
NCでは何とも無かったのになぜIEでは?
ちなみに文字コードはEUC-JPになっているのにだめでした。
文字化けさせない良い方法を教えてください。
ねね
2000/06/02(金) 10:11:04
JavaScriptを外部ファイル(*.js)にしてませんか?
その場合、HTMLと*.jsの両方をShift_JISで書かないと
大抵の場合、化けます。
実はこんな単純な問題ではないんですけど、これが一番
簡単な回避策。
Duck
2000/06/02(金) 10:29:00
そのとおりです。
事実、外部ファイルにしていない部分は文字化けしませんでした。
しかし、HTMLはEUCというのはどうしても譲れません。
#他のページにも関わるので・・・
となったらすべてHTMLに埋め込むしかないんですかね。
>実はこんな単純な問題ではないんですけど、これが一番
>簡単な回避策。
それなら仕方ありませんが、そんな問題か気になります。。。
ねね
2000/06/02(金) 12:05:52
過去ログでもこの問題はたくさん報告されてます。
でも、決定的かつ万能な回避策がないのが現状です。
IE限定にしても、バージョンによって挙動が異なるのです(5.0と5.01でも違う)。
回避策をもうひとつ・・・
Shift_JIS版とEUC-JP版の、内容の同じ2つのhoge.jsを用意します。
内部で HTTP_USER_AGENT を取得し、Shift_JIS版・EUC-JP版、どちらを取り込めばいいかを
判断し、それを Content-Type: text/javascript で標準出力に吐き出すCGIを作成します。
そのcgiを <script type="text/javascript" href="hoge.cgi"> でHTMLに取り込みます。
どのUAがどちらのエンコードを要求するかはご自分で試行錯誤してください。
Duck
2000/06/02(金) 12:16:31
[[解決]]
大変参考になるご意見、ありがとうございました。
やっぱりUAに依存なくするために外部ファイルにするのは止めました。
でも、それってIEのバグっぽく思えますね。
#頻繁にバージョンアップするくせに。。。
#何とかしてほしいものです。
[上に]
[前に]
[次に]