- - PR -
Tomcat5.0.28のエンコード設定についての質問
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-04-06 11:03
文字コードは私も弱いですが、ここらへんが関係してませんか。
http://www.ingrid.org/java/i18n/encoding/shift_jis.html --追記 ああ、違うかも。 よく見たらJSPの文字コード指定してない? htmlのmetaタグじゃなくてjspのスクリプトレットで指定してみは。 [ メッセージ編集済み 編集者: (株)ぽち 編集日時 2005-04-06 11:07 ] | ||||
|
投稿日時: 2005-04-06 11:15
JSPの場合、META宣言は効かないようです。
JSPに直接記述してあるコードなら、pageディレクティブを記述してください。 こんな感じ。
http://www.atmarkit.co.jp/fjava/rensai3/mojibake01/mojibake01.html [ メッセージ編集済み 編集者: Edosson 編集日時 2005-04-06 11:18 ] | ||||
|
投稿日時: 2005-04-06 12:29
『(株)ぽち』様、『Edosson』様
早速のお返事有難うございます。 おっしゃるとおりJSPの先頭に 『<%@ page contentType="text/html;charset=shift_jis" %>』 を追加しましたところ正常に表示されました。 ただ、外字(?)にあたる『ax等は文字化けしたままです。 システムの性質上、このような文字をエントリー系の画面に 使用することが予測されますので、この点も解決したいのですが、 システム全体のエンコードを『UTF-8』に統一するべきなのでしょうか? | ||||
|
投稿日時: 2005-04-06 14:09
エンコーディングの違いによって文字が化けるのであれば、
Shift-JISでもUTF-8でも、必要なものに統一すればいいです。 外字は基本的には個々のマシン上にしか存在しないものですから、 エンコーディングをなににしようが、何の解決にもなりません。 表示に使うだけで入力には使わない、というのであれば、 いっそ、グラフィックにしてしまえば? エンコードの違いに由来する文字化けでなく、本当に外字を使用したいのであれば、ですが。 [ メッセージ編集済み 編集者: Edosson 編集日時 2005-04-06 14:10 ] | ||||
|
投稿日時: 2005-04-06 15:06
『Edosson』様、有難うございます。
私の説明に語弊があったようなので『外字』としていましたが、 自分なりに参考文献を読み散らかした情報によると『機種依存文字』 と書かれていました。 私も焦っていますので、自分なりにテストをした結果を以下に示します。 実験@------------------------------------------------------------------------- 【設定内容】 その機種依存文字を扱うに当たって、文字コードを『UTF-8』にするために 全ての設定を『UTF-8』に変更しました。 『[%CATALINA_HOME%]\\conf\\web.xml』 『(アプリケーションの)web.xml』 『JSPファイルのpageディレクティブ』 【結果】 文字化けは解消せず。ひどくなりました。 実験A------------------------------------------------------------------------- 【設定内容】 その機種依存文字を扱うに当たって、文字コードを『Windows-31J』にするために 全ての設定を『Windows-31J』に変更しました。 【結果】 文字化けは解消しました。 考察@------------------------------------------------------------------------- エンドユーザのクライアントOSがMac・Windows混在の可能性もあり、出来るだけ マルチOSでの動作が望ましいと思われます。 ここで、『Windows-31J』を指定した場合、MacOSで正しく動作できるのか? という問題が発生します。 妥協案として、MacOS上でブラウザをIEとした場合、可能となるか? いずれにしても、Macが手元に無いためテストできずに地団駄を踏んでます。 考察A------------------------------------------------------------------------- 『「実験@」で文字化けしたのは何故か?』そして『「実験A」で成功したのは何故か?』 ということを冷静に考えたとき、この差は何なのか? もしかしてEclipseのエディタの設定が『MS932』になっていることが関係しないか? 何を書いているのか自分でも意味不明になってきましたが、 言わんとしている事は以上の通りです。 引き続き『考察A』を検証していきますが、少しでも『これかも』という情報が ありましたら、ご教授くださいますようお願いいたします。 | ||||
|
投稿日時: 2005-04-06 15:17
JSPファイルそのものを、UTF-8に変換しましたか? エンコーディングを変更したなら、それらに関わるファイルのエンコードも それに合わせて変更しなければなりませんよ。 MacでWindows-31の文字化けはさけられないでしょう。MS-Officeでも、 Win版とMac版の間で文字化けが発生しますし。 [ メッセージ編集済み 編集者: Edosson 編集日時 2005-04-06 15:18 ] | ||||
|
投稿日時: 2005-04-06 16:59
『Edosson』様、迅速なご返事有難うございます。
おっしゃるとおり、『UTF-8』で文字化けした原因は、 エディタのエンコード設定を『UTF-8』にする必要があったようです。 また、これ以前のやり取りで『Servletのエンコード』があったので それもテストしましたところ問題ないようです。 ついでに報告ですが、このままではEclipseで新規クラスファイルを 作成するたびに『MS932』形式のファイルが開かれて、エンコードを 『UTF-8』に変更した際、コメントが文字化けするので、テキスト・ ファイルのデフォルトエンコードを『UTF-8』に変更しました。 既にご存知の方が多いとは思いますが、方法は 『(パッケージエクスプローラーの)プロジェクトを選択』 ↓ 『(右クリックで)プロパティーを選択』 ↓ 『表示されたウィンドウの情報ノードを選択し、テキスト・ファイル のデフォルトエンコードを「その他」−「UTF-8」にする』 皆様のご協力で何とかエンコードはうまくいきそうです。 大変有難うございます。 |