Yahoo!ニュースで小さな話題になっていた、以下の記事のタイトル(^_^)。
ユーロを戦うイングランド代楓シが発表…ファーディナンドが落選 (SOCCER KING) – Yahoo!ニュース
ユーロを戦うイングランド代楓シが発表…ファーディナンドが落選
リンク先は修正・削除されてしまうかもしれないので、キャプチャしておいた。
記事の配信元のサイトを見ると……
ユーロを戦うイングランド代表23名が発表…ファーディナンドが落選 – サッカーキング – 世界のサッカー情報サイト
ユーロを戦うイングランド代表23名が発表…ファーディナンドが落選
……となっている。
Yahoo!のコメント欄を見ると、他の記事でも同様に文字化けしていたらしいことがわかる。
WEBサイトのCGIでPerlやPHPを組んでいる人には周知のことだが、日本語文字コードでShift_JISを使っていると特定の文字が文字化けする。
その中に、よく使われる文字が含まれている。
「代表」の「表」の字がそのひとつだ。
「代楓シ」となっているのは「代表」のあとになにがしかの文字がつながっていて、文字化けになっている。「シ」は半角カタカナの「シ」だと思われる。
文字コードを調べてみると……
表
JIS: 493D
シフトJIS: 955C
区点: 04129
Unicode: 8868
UTF8: E8 A1 A8
楓
JIS: 4976
シフトJIS: 9596
区点: 04186
Unicode: 6963
UTF8: E6 A5 93
となっているので、「楓」に化けるには、シフトJISコードの末尾2桁の「5C」がエスケープコードとして認識され、次に続くコードと合体している考えられる。5Cは「\」マーク(バックスラッシュまたは¥の半角)のことで、CGIで「表」の文字化けを回避する際に「表\」と表記したりする。
元記事から推測して調べてみると、「23名」の「名」が怪しい……
名
JIS: 4C3E
シフトJIS: 96BC
区点: 04430
Unicode: 540D
UTF8: E5 90 8D
……ということで、「名」のシフトJISの頭の「96」が、「表」の頭の「95」とくっつくと「9596」となり「楓」のコードと合致する。
そして、残された「BC」は……
半角カタカナの「シ」
JIS: BC
シフトJIS: BC
……と、半角カタカナに該当するわけだ。
普通にテキストエディタで入力していて、テキストファイルでデータの受け渡しをしていたら、このようなことは起こりにくいので、おそらくWEBベースでデータをやりとりしていて、コード変換の過程が介入していると思われる。
なので、これは人為的なミスというより、文字コードとプログラム上の不適合だということ。
まぁ、初歩的なことなんだけどね(^_^)。