- - PR -
文字化けについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-14 10:40
業務にて文字化けの調査を依頼され、
文字化けしない環境を構築できたのですが、 逆になぜこの環境で文字化けしないのか分かりません。 下の環境で文字化けしていないのは問題ないのでしょうか? [Java側] 環境:windowsXP,tomcat4,jdk1.4.1 ソースファイル:SJISで保存 JSPファイル:SJISで保存 JSPのエンコーディング指定:SJIS リクエストパラメータはnew String(X.getBytes("iso-8859-1"), "Windows-31J")でエンコード処理を行う。 [DB側] RedHat:EUC-JPで構築 postgreSQL7.4.6:EUC-JPで構築 [クライアント] 環境:windowsXP,IE6 Java,DB,クライアントいずれでも文字化けが発生してません。 個人的にはSJISとEUC-JPの違いがあるので DBのデータが文字化けしてもおかしくないと思ってるのですが・・・ SJISとWindows31Jは今のところ混在してしまってます。 以上です。よろしくお願いします。 | ||||
|
投稿日時: 2005-06-14 12:01
もうちょっと細かく書くと、こういう構成になります。
ブラウザ[SJIS] -- サーブレット[Unicode] -- postgreSQL[EUC-JP] リクエストパラメータに指定しているエンコードは、 Unicodeに変換するために行っていることです。 JavaとpostgreSQLの間については、現状の構成ではそれぞれのデフォルトですから、 ドライバが対処してくれているのでしょう。 | ||||
|
投稿日時: 2005-06-14 13:24
ちょっと本題からはずれてしまいますが参考になれば幸いです
●Java 1.4.1未満(1.4.0以下) Shift_JIS => MS932 ●Java 1.4.1以降 Shift_JIS => SJIS Windows-31J => MS932 誤解を恐れずに言えばシフトJISと言われている文字集合について含まれている文字の内訳が違うということだと思います。 SJIS - 本来のシフトJISの規約にそった文字集合でNEC拡張文字などをサポートしません。 Windows-31J - Windows のシフトJISに含まれる文字集合 MS932 - 同上 #という具合にシフトJISと一言で言っても沢山種類があります。 #例えばMacシフトJIS、iモード絵文字を含むシフトJIS、EZweb絵文字を含むシフトJIS、etc... |
1