文字コード問題

question:1105667960

本当は回答でいろいろ書こうと思ったんだけど、まじめに書き出すと止まらなくなるので(^^;、とりあえずこっちに。

UNICODE って、文字コードとしては、まだまだ若くて、その上、既存文字コードとの互換性や、文化的論争に巻き込まれて、「これって使えるの?」という空気が強かった、という印象があります。ここ数年で、インターネットで使われる規格の中に、UTF-8 が使われることが増えてきて(例えば、xml のデフォルトのエンコーディングUTF-8)、大分メジャーになってきたんで、まさに「これから」というところじゃないなぁ、と。

仕事でネットワークを扱うことが多くて、いろんな文字コードと格闘することが多く、上記の質問者は 「EmEditor 以外は」なんて書いてますが、私は xyzzy 以外は不可(^^;Unicode だって UTF-5、7、8、16(しかも、BOM が無いときにビッグエンディアン、リトルエンディアンの指定も出来る)と、私もぜんぜん把握してないし、実際にお目にかかったことがない文字コードばかり(^^;。これでも、個人的には IMAP で使われる Modified UTF-7 が無いのが不満だったり(^^;

世の中、最初に出てきた文字コードUnicode だったらまだしも、後発の文字コードが普及するのは時間がかかるもの。i18n を考えると UTF-8 という選択肢が、今は一番無難な選択肢だと思うけど、逆に、ソフトを作る側としてどうか、と考えると、なかなかそこまで意識して作るのが「面倒」という感じはあるでしょう。自分の作ったソフトが、友達に中国人と韓国人がいる人が使う、という場面自体をあまり想像できないし、本格的なものならまだしも、ちょっとした CGI なら、「とりあえず自分が使えれば」から始まって、「こんなのでよければ使って」というレベルのものも多いし、はじめから i18n を意識して作る人は多くないでしょう。

それは日本に限らず、他の国も同じで、未だに「1文字=1バイト」と信じて疑わない英語圏プログラマも多いはず。

i18n を意識したソフトで UTF-8 が使われる」という流れはあると思うけど、i18n を意識しなければ、自分のネイティブな言語環境で、最も便利、普及している文字コードで済ませる、というのは、しょうがないかなぁ、と。

現実問題として、こういった文字コードに関する知識をしっかりと身につけているエンジニアは非常に少ないんじゃないかな。私も特別詳しいほうではないけど、こんなレベルでも、周りには私より詳しい人はいないし...。