日本語のメールと文字化け

 延々と日本語の文字コードについて説明してきたのは、ほかでもない、この文字コードの仕組みが文字化けと密接に関係しているからだ。

 たとえば、JISコードはASCIIと同じビット組合せを使って漢字を表現し、実際の文字がどちらのコードなのかはエスケープシーケンスという目印で切り替えている。もし、このエスケープシーケンスを構成する制御文字が伝送途中で欠落するとどうなるだろうか。この場合、受信したメールソフトでは、文字コードをどこで切り替えるのかわからなくなってしまう。そして、ISO-2022-JPにはテキストの先頭はASCIIという約束があるので、全てのデータがASCIIの文字として解釈されることになる。画面上では、意味不明のアルファベットや記号が羅列されるだけだ。これが、典型的な文字化けメールの現象だ。

(図省略)

 7ビットしか使わないという約束のインターネットメールに、8ビットを使うシフトJISやEUCのメッセージを送り出しても、やはり文字化けのトラブルを生じる可能性がある。こうしたメッセージは、途中で特殊な変換を施されたり、8ビット目を0にリセットされてしまう場合があり、その結果メッセージが意味不明のものに変化してしまうことがあるのだ。1バイト仮名を含むメッセージも、その部分がうまくJISコードに変換できずに8ビットを含むメッセージとなることがあり、同様な問題を生じやすい。

(図省略)

 第1章で述べたように、インターネットの電子メールは、いろいろなコンピュータによってバケツリレーのようにして送られていく。メールを中継するコンピュータは、ただ単に届いたものをそのまま次の宛先に送り出すだけではなく、メールを取り扱ったことを示す付加情報を書き込んだりする。これらの中には、自分の判断でメッセージを整形したり、制御文字をカットしてしまったり、8ビット目を削り取ったりするものがある。万一、メールが送られる経路の途中にこのようなコンピュータを経由すると、日本語のメッセージが破損してしまう場合があるのだ。

『プロフェッショナル電子メール』第4章より