ホームページのフォームから数字のメールが来ちゃった

FORM ACTION="mailto:GHG00673@niftyserve.or.jp" METHOD="POST" ENCTYPE="text/plain"

 フォームのタグは上記のように記述しますがENCTYPEを忘れるとメールが日本語ではなくて漢字コード(数字の羅列)で送られてきます。例えばこんな風にです。(実際には全部つながって送られてきます。)

name=%8E%F0%88%E4%94%FC%94%BF&
reading=%82%D0%82%C1%82%B1&
circle=%83e%83j%83X&
contact=%93d%8Eq%83%81%81%5B%83%8B

 これを日本語に変換する方法を紹介しましょう。まず%と&は区切り記号ですからこれを取ります。それから漢字コードは4つで1文字ですから4つづつに分けます。

name=%8E%F0%88%E4%94%FC%94%BF&
     ↓
name=8EF0,88E4,94FC,94BF

 となります。(,は区切りのために入れてあります。)これがSJISの漢字コードです。これを漢字コード表で対応する漢字に直せば良いのです。ただし、2文字づつ送られた場合はこれで良いのですが、問題は3文字づつ送られた場合です。

circle=%83e%83j%83X&

 これは4つづつに分けても駄目なのです。では、どうするか?この場合は3文字目をアスキーコードの16進数に変換して4文字とするのです。

circle=%83e%83j%83X&
     ↓
circle=8365,836A,8358

 となります。(eのアスキーコードの16進数は65です。)LUNA.EXEのバージョン0.76からは、この自動変換機能が付きます。

The following clause.

表紙に戻る