古いメールフォームで起こる文字化けを解消する方法
古いサイトって、エンコードがShift_JISで作られていることが多いです。
古いサーバーから新しいサーバーに引っ越した場合は、新しいサーバー(殆どUTF-8と思われる)とhtmlで指定した文字コードが一致せず、文字化けを起こす場合があります。
そういう時は、htmlの<head>~</head>内で、文字コードをutf-8に指定してあげれば大体解決できます。
しかし、、、フォームメールとなると一筋縄ではいかない例がありまして、その備忘録としてここに記載させていただきます。
まず、基礎知識として、これは私も知らなかったのですが、日本語のメールを送信する場合、メールソフトは文字コード「JIS」で作成されるそうです。
フォームメールからの受信文字が化けるとなると、そのエンコードが違っている可能性があります。
何でもかんでもUTF-8にすれば解決するわけではないのです。
例えば下記のようなphpが書かれている場合、mb_convert_encordingの第二引数(変換後の文字コード)は、「UTF-8」ではなく、「JIS」にしてみると、メールを受信した際に文字化けがなくなる例がありました。
もう一度。
「何でもかんでもUTF-8に変えればいいというわけではない」という事です。
参考になれば是非^^;。
公開日:2020年1月8日
最終更新日:2020年1月8日