アプリはUnicode、データはSJIS

今さらながら、結局のところ、文字コードの話はここに落ち着くようだ。今日、会社でデータの整理をしていて思った。お客さまからもらったデータ、精査したが、テキストデータでUnicodeベースのものは一つも無かった。UTF8もない。UTF16も1件もない。全部シフトJIS。それも確信を持って、JIS90 ベースだといえる。JIS2004を意識したデータは1件もない。

国際化対応ということで、ソフトウェアはどれもこれもUnicode対応になっていく。これは止められない流れだ。厳密には、Unicode対応になった海外製のソフトが入ってくるというべきか。私のような日本人プログラマなら、シフトJISのお作法が身についているはず...もしかしたら若い連中は最初から Java で Unicode が当たり前なのかも知れないか。

その一方でUnicode 対応といっても、画面や紙に出力する場合は、現実には、Unicode 全体を使うのではなく、Unicode のサブセットを使うことになる。フォントの制約があるので、ユーザーが使いたいフォントで使える範囲に文字集合が制限されるのだ。
Unicode を100%使いこなせるのならば、一つの名簿データ内に、日本人の名前と中国人の名前を混在させることも可能だ。しかし、そうしたところで、フォントにMS ゴシックを選んでしまえば、中国人の名前は部分的に消えることになってしまう。日本語と共通して使う文字の部分は残るだろうが、中国独自の文字、言い換えれば JIS90(あるいは JIS2004)に含まれない範囲の文字は、フォントに含まれないために消えてしまうのだ。
こういった事故がおきないように、IMEでもある程度の制限がかかっているはずだ(日本語IMEでは簡体字は入力できないなど)。
全Unicodeを単独で表現できるフォントが配布されるまで、この問題は続くだろう(世界中には混在しえない組み合わせの言語もあるかも知れない)。

ということは、現実的に考えて、日本国内で広範囲にやり取りされるデータは、JIS90(あるいはJIS2004)か、仮にUnicodeであったとしてもJIS90かJIS2004に変換できる範囲でしか使えないことになる。
データをやり取りする際に、「UTF8 だけど JIS90 に変換できる範囲でお願い」とわざわざ言うくらいなら、最初から「JIS90で」あるいは「JIS2004で」と言ってしまったほうが、分かりやすくて間違いも少ないだろう。
Windows Vista の普及速度が遅いので、JIS2004がなかなか浸透しないという問題がもう一方にあり、結局のところ、私の身の回りは JIS90 だらけになってしまっている。

この状況が明日、明後日にいきなりひっくり返ることはないだろう。一人粋がってJIS2004 を使ったところで、周囲に迷惑をかけるだけだ。当面はデータ交換には JIS90 でシフトJISを使い続けるしかない。どうしてもそれが嫌なら、Excel形式のファイルを使って、別のトラブルと戦うのもいいだろう(洒落にならないくらい、このケースのほうが多かったりする)。

しかし、このテーマ、ここでいくら力を入れて分析してみても、現場のパンチャーさんは文字コードなんて何も気にしていないというのが現実なのだろうな...。

ついでに、プリンターに組み込みのフォントもJIS90のままだったりするので、安易にJIS2004には移行できない。
さらにメモついでに書いておくと、IPAフォントがJIS2004対応なので、これはちょっとしたかく乱要因になるかも知れない。

"アプリはUnicode、データはSJIS" へのコメントを書く

お名前
メールアドレス
ホームページアドレス
コメント