- PR -

エンコード/自動選択(チェック無)の制御について

投稿者投稿内容
NOB
常連さん
会議室デビュー日: 2004/03/02
投稿数: 49
投稿日時: 2006-08-21 17:27
いつもお世話になってます。またまた皆さんのお力をお貸しください。
現在下記環境にてJAVAによるWEBアプリケーション開発を行なっています。

【開発環境】
・All-In-One-Eclipse-2.0.0
・jdk-1_5_0_06
・apache_2.0.55-win32
・apache-tomcat-5.5.16
・mod_jk-1.2.14-apache-2.0.54.so

デバック中、インターネットエクスプローラの設定により文字化けすることが
わかりました。

【文字化けする】
表示_エンコード_自動選択(チェック有)_日本語(シフト JIS)
【文字化けしない】
表示_エンコード_自動選択(チェック無)_日本語(シフト JIS)


本アプリケーション使用時に、自動選択(チェック無)で運用したいのですが、
プログラムコーディングもしくは、apach/tomcatの設定で回避することができますか?

ちなみに開発しているJSPには全て下記一文をつけてます。
<%@ page contentType="text/html; charset=Windows-31J"%>

mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-08-21 17:38
設定より先に、metaタグはどうでしょう。
NOB
常連さん
会議室デビュー日: 2004/03/02
投稿数: 49
投稿日時: 2006-08-21 17:59
mioさん、回答ありがとうございます。これから

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

をつけて試してみます。ちなみに優先順位とか意識する必要はありますか?
NOB
常連さん
会議室デビュー日: 2004/03/02
投稿数: 49
投稿日時: 2006-08-21 18:25
<%@ page contentType="text/html; charset=Windows-31J"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

<html>
<head>
<title>WEBアプリ</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> ← 追加
<meta http-equiv="Expires">

上記コーディングで回避することができました。ありがとうございました。

優先順位は、
1.<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
2.<%@ page contentType="text/html; charset=Windows-31J"%>
となるみたいです。
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2006-08-21 18:27
titleの前にmetaタグ入れたほうがいいような気がします
あいまいな記憶なんですが、全ての日本語が出る前に指定しとかないと
不幸なことになる可能性があるとか聞いたことあるので

ガセでしたらすいません
NOB
常連さん
会議室デビュー日: 2004/03/02
投稿数: 49
投稿日時: 2006-08-21 19:22
Kazukiさん、情報ありがとうございます。私の参考書のサンプルが
このコーディングになってました。不幸になりたくないので順番を
かえてみます。
アティ
ベテラン
会議室デビュー日: 2003/08/14
投稿数: 91
お住まい・勤務地: KANAGAWA
投稿日時: 2006-08-22 04:13
引用:

優先順位は、
1.<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
2.<%@ page contentType="text/html; charset=Windows-31J"%>
となるみたいです。


優先順位というわけではなく、別用途で使われています。
1.のcharset属性は、クライアント側でHTMLがどの文字コードで記述されているかを指定してます。
2.のcharset属性は、サーバ側でJSPファイルがどの文字コードで記述されているかを指定してます。
1.の方はブラウザが使用し、2.の方は、JSPコンパイラが使用します。
(間違ってたら指摘お願いします)

[ メッセージ編集済み 編集者: アティ 編集日時 2006-08-22 04:15 ]
NOB
常連さん
会議室デビュー日: 2004/03/02
投稿数: 49
投稿日時: 2006-08-22 07:43
おはようございます。アティさん、わかりやすい解説ありがとうございます。
ということは、ふたつ定義しておくのが間違いないとことですね。

このコーディングで作業を進めます。ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)