- PR -

文字化けについて

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2005/02/24
投稿数: 55
投稿日時: 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は今のところ混在してしまってます。

以上です。よろしくお願いします。






Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2005-06-14 12:01
もうちょっと細かく書くと、こういう構成になります。

ブラウザ[SJIS] -- サーブレット[Unicode] -- postgreSQL[EUC-JP]

リクエストパラメータに指定しているエンコードは、
Unicodeに変換するために行っていることです。

JavaとpostgreSQLの間については、現状の構成ではそれぞれのデフォルトですから、
ドライバが対処してくれているのでしょう。
未記入
常連さん
会議室デビュー日: 2005/05/24
投稿数: 48
投稿日時: 2005-06-14 13:24
ちょっと本題からはずれてしまいますが参考になれば幸いです

引用:
SJISとWindows31Jは今のところ混在してしまってます。



●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

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