Gauche:CP932とJISX0213の差異

Gauche:CP932とJISX0213の差異

Shiro(2016/10/05 13:41:59 UTC): 文字コードでハマることなどしばらく無かったのですっかり忘れておったよ…

Gaucheのエンコーディングのshift_jisはShift_JISX0213 (Shift_JIS 2004) で、WindowsのCP932の「ほぼ」互換なんだけど、少し違うところがある。そのひとつがいわゆる「立つ崎」https://ja.wiktionary.org/wiki/%EF%A8%91

これは元々のShift_JISには含まれず、CP932は拡張文字コードの #xfab1 を割り当てていたのだけれど、JISX0213で入ってJISコードの#x4f72 (Shift_JISに変換すると #x9892) になる。困ったことに、Shift_JISX0213では#xfab1の箇所に別の文字が割り当てられてる。

文字 Shift_JISX0213 CP932
9892 FAB1
FAB1 -

なので「立つ崎」が含まれるCP932のファイルをshift_jisと指定して読み込むと、「郫」に化けてしまうわけだ。

エンコーディングを cp932 と指定すれば化けない。

More ...