SafariからEUC-JPのページに書き込むと「鷗」などが化ける

  • 原因は、Safariの採用しているEUC-JP用の変換テーブル(IBM-33722)のフォールバック。下図は、UnicodeEUC-JPに変換する際の、IBM-33722における漢字のフォールバックをまとめたもの*1。単に「EUC-JPにない文字」であれば、EUC-JPのページへは数値文字参照で送信されるので化けることはないのだが、フォールバックが定義されているために字体が変わってしまう。


  • ところで、素朴な疑問なのだが、このIBM-33722のフォールバックって、どういう基準で設定しているのだろう。「IBM-33722に入ってなくてUnicodeに入っている異体字」なら、他にもありそうなので(たとえば「吞(U+541E)→呑」とか)、何かしら基準があるのだろうけれど。

*1:IBM-33722では漢字以外のフォールバックも定義されているが、話が複雑になるので今回は漢字のみを扱う。