フォームで有った怖い事
当サービスとは関係ないのですが、仕事柄で色々とメールフォームを見てきて有った困った点をまとめて見ました。
これは実話です。
恐怖の文字バケ! リターンズ
メールで利用できる文字列は、古くから7ビットの範囲しか使えないため、実は、Shift_JIS等は、JISコードと言う7ビットの日本語コードに置きかえられて送受信をされています。
本来は、このJISコードを元にShift_JISコードが作られているため、お互いには互換性があります。
ところが、このJISやShift_JISが規格された時には、第2種漢字までなかったのです。
しかし、現時点では、WindowsやMac OSでは、第4種漢字まで扱える状態です。
第3種漢字や第4種漢字での文字化けについては、基本的に、HTMLページ及び、PHPの日本語処理コードもUTF-8にして、送付するメールの内容もUTF-8にするしか有りません。
ただ、この方法にも欠点があります。
それは、UTF-8エンコードでのメール内容は、標準規格では無いのです。
その為、中継するメールサーバーや受信するメールクライアントによっては、問題が発生する恐れがありますので、主に管理者向けメールでのみ活用する方が良いと思います。
※メール添付でバイナリーファイルを送れるじゃないか! と思う人もいると思いますが、添付ファイルは、BASE64と言う技で7ビットに変換が行われます。