「あいうえお」の 5 文字を iso-2022-jp で表現すると、
のようになります (`^[' は ESC (0x1b) です)。^[ $ B $ " $ $ $ & $ ( $ * ^[ ( B
最初の `^[$B' の 3 文字が「ここから日本語 (もう少し正確には JIS X 0208-1983) が始まるよ」ということで、最後の `^[(B' が「ここで日本語が終わりだよ (もう少し正確にはここから ASCII が始まるよ)」ということです。 `^[$' の後の 2 文字ずつ ($", $$, $&, $(, $*) がそれぞれ「あ」「い」「う」「え」「お」に対応します。 したがって、「う」は
となります。^[ $ B $ & ^[ ( B
ところで HTML では & や <, > などはそれぞれ &, <, > と書かねばなりません。 そのため、MHonArc を含む HTML filter の類はこの変換を行なおうとします。
しかし、単純に変換したのでは (つまり日本語化されていない場合)、
も、^[ $ B $ & ^[ ( B (=「う」)
と変換されてしまうことになります。 これは「う瘢雹」の 3 文字に対応します。^[ $ B $ & a m p ; ^[ ( B
これが「化ける」原因 (の一部) なのです。
iso-2022-jp 等の詳細については
なおこの文章では、charset=iso-2022-jp と言っておきながらそれ以外の charset になっている、といったような場合については扱っていません。