2014年09月06日

"Windows-31J"コンバータ を利用することによる文字化け対策について

「Windows」にて利用されている文字コードは "Windows-31J" です。
"Windows-31J" は "Shift_JIS" を拡張したものであり、下記の文字群が追加で定義されています。

・NEC特殊文字 … 83文字。13区に定義されている(※一部、2区、115区に重複定義されている文字もあり)。
・IBM拡張文字 … 388文字。115 - 119区に定義されている。
・NEC選定IBM拡張文字 … 374文字。89 - 92区に定義されている。

そのため、"Shift_JIS"のWebコンテンツなどにて、「z1.jpg」(NEC特殊文字)などを許容する場合は、"Windows-31J"コンバータ を利用する必要があります。

ただし、"Windows-31J"コンバータ を利用するにあたり、「z2.jpg」「z3.jpg」「z4.jpg」「z5.jpg」「z6.jpg」「z7.jpg」「z8.jpg」が文字化けする可能性があるため、注意が必要です。
その理由は、"Windows-31J"コンバータ が上記の対象文字をUnicode変換するときのコードポイント(Unicode表記)が、他のコンバータによるものと異なるからです。

z2.jpg」を例に挙げます。

□「Shift_JIS」コンバータの場合
x1.jpg

□「EUC-JP」コンバータの場合
x2.jpg

□「ISO-2022-JP」コンバータの場合
x3.jpg

□「Windows-31J」コンバータの場合
x4.jpg

□「UTF-8」コンバータの場合
x5.jpg
(おまけ)
x6.jpg
※「z9.jpg」は"Shift_JIS"、"EUC-JP"、"ISO-2022-JP"では表現できません。

また、上記の対象文字すべてを表にまとめました。
y1.jpg

上記のとおり、"Shift_JIS"(もしくは"UTF-8")のWebコンテンツにて入力されたデータを、
・メール("JIS")の本文に含める
・xmlファイル("EUC-JP")の内容に含める
・csvファイル("EUC-JP")の内容に含める
・バイナリファイル("EUC-JP")の内容に含める
など、出力するデータに "Windows-31J"コンバータ を利用できない場合に、変換対象とならない(文字化けする)ことがわかります。

そのため、下記の図のような特別処理が必要となります。
x7.jpg
(特別処理を実装する場合は、上記の表をご参考に。)

posted by red at 00:55| Comment(0) | TrackBack(0) | 旧ブログ記事 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック