Takahiko Shirai Blog

記録「白井喬彦」

「gooブログ」の文字コード

2005-04-14 13:34:38 | プログラミング
2005年4月13日に書いた「中国の反日デモ余聞」の中で、「唐家璇」が「唐家?」と文字化けしているのを見つけた。

「入力したときは確かちゃんとIMEパッドを立ち上げ、「手書き入力」を使って「璇」の文字を入力したはずのに。どうもおかしいな?」

そういうわけで、

「もしかすると、gooブログではユニコード文字は使えないではないか?」

という疑いを抱いたのであった。

それならば、2005年4月6日に書いた「中国の反日運動」の中の「深圳」はどうなっているのだろうかと思って開いてみたら、そこではちゃんと「深圳」となっている。

「gooブログでも、ユニコード文字は使えるのだ!」

そこで、gooブログのソースを開いて調べてみると、gooブログでは、次に示すようなメタタグ(<META ...>)によって、EUC-JP という文字コードが選択されていることがわかった。だから、gooブログでは、ユニコード文字は原則的には使えないわけだ。

<META http-equiv=Content-Type content="text/html; charset=EUC-JP">

けれども、Windows XPなど、ユニコードを内部文字コードにしている新しいOSの下では、JIS、Shift-JIS、EUC-JPなどといった多種類の文字コードの文字列の中にユニコード文字を埋め込むことができるようになっている。いわゆる「ユニコードタグ」と呼ばれる新しい方式が導入されているのだ。

例えば、「深圳」なら「深&#22323;」、「唐家璇」なら「唐家&#29831;」というように、ユニコード番号の前に「&#」を付け、ユニコード番号の後に「;」を付けて、それを所定箇所に挿入してやれば、文字列の中にユニコード文字を組み込むことができる。

繰り返して具体的に説明すると、圳=&#22323;、璇=&#29831;とした上で、文字列の所定の箇所に挿入してやるのである。ただし、ここで「22323」 は「圳」のUnicode番号、「29831」は「璇」の10進数ユニコード番号である。この場合のように、「&#nnnnn;」の「nnnnn」は10進数ユニコード番号である。ここでもし、「&#xnnnn;」として途中に「x」を入れてやれば、「nnnn」はの4桁は16進数ユニコード番号ということになる。ユニコードなら、10進数と16進数のどちらでも対応できるのである。

従来、「深セン[土+川]」、「唐家セン[王+旋]」などというみっともない書き方をしていたわけだが、この「ユニコードタグ」の導入により、その必要はなくなった。だが、ユニコードがいま世の中に存在するパソコン端末の大多数に普及するまで、しばらくの間は「深セン[土+川]」、「唐家セン[王+旋]」という書き方が続けられるだろう。少々みっともなくても読めない人がいるよりはよいからだ。

しかし、新聞や雑誌のウェブサイトや、メールマガジンなど読者が多い場合ならいざ知らず、ブログでそのような遠慮はいらない。私たちはもっと「ユニコードタグ」を活用すべきであろう。

このようにユニコード文字をその体系のまま一つの文字列の中に組み込む機能「ユニコードタグ」が導入されたことで、一つの文書(ファイル)の中に、日本語文字(かな+日本式漢字)、中国語繁体文字、中国語簡体文字、韓国語ハングル文字などを混在させることができるようになったのは大きい。このことは特に日中韓3国の文化交流に大きな影響を及ぼすのではなかろうか。

この際、固有名詞の記述は、その固有名詞本来の文字を使って表記するよう心掛けるべきだろう。つまり、中国の固有名詞なら簡体字で表記するべきだ。そうしないと、「情報はもはや国境を不可視にした」といわれるこのインターネット時代に、文字の国境を越えることができないからだ。

例えば、遼寧省の省都について、日本式に「瀋陽」と書くのと、中国式に「沈阳」と書くのでは、インターネット検索で得られる結果がまったく異なってくる。「瀋陽」で検索すれば、日本の旅行社のサイトがどっと出てくる。一方、「沈阳」で検索すれば、中国のさまざまなサイトが出てくる。日本人向け観光情報のことを知りたいなら「瀋陽」でも構わないが、それ以上のことを知りたいなら、検索には「沈阳」というキイワードを使わなければならないだろう。「沈阳」と入力するには「沈&#38451;」とすればよい。

同一都市を表わす二つの地名、「瀋陽」と「沈阳」のケースで、「陽」に対応する簡体字が「阳」である。けれども、「瀋」に対応する簡体字が「沈」というわけではではない。日本では「瀋」と「沈」は異なる文字として併存しており、両方ともわざわざユニコードを使わなくとも書くことができる。「瀋陽」と「沈阳」の違いは、コンピュータ検索上は「イギリス」と「English」の違いと似ているのだ。

コンピューターの世界で長年「トウ小平」と書き続けられてきた「小平」という人名も、いまではこの通り「小平」と書けるようになり、違和感がなくなった。しかし、この場合はどうもユニコードを使って書いているわけではないらしい。JISコード体系が拡大されたらしいが、なぜ「」という字が別扱いされたのだろう? このあたりの事情はいったいどうなっているのか、どなたかお教えくださる方はおられないだろうか。

最新の画像もっと見る