PHPフォーム文字化け回避対策

クライアントから、お客さんからのフォームメールが連続で届かないとの連絡が。
容量がいっぱいになってないかと迷惑メールフォルダに入っていないかどうか調べたが、問題なし。
同仕様のフォームで送受信テストをしたら受信メールが文字化け。以下のページを参考にphpを修正した。本業ではないのでメモ書き。


PHP:メールのタイトル、本文の文字化け回避:mb_internal_encoding
PHP:メールのタイトル、本文の文字化け回避(UTF-8での注意点):mb_language('uni')
PHPによるUTF-8メール(多言語混在メール)の送信方法

mb_send_mailの記述の後に以下を追記。
<↓ダメ つД`) >
mb_language(‘Japanese’);
mb_internal_encoding(“UTF-8”);
UTF-8をEUC-JPに変更
<↓○>
mb_language(‘Japanese’);
mb_internal_encoding(“EUC-JP”);
<↓○>
mb_language(‘uni’);
mb_internal_encoding(“EUC-JP”);

uniでやると、文字化けした場合にメールが切れるのを回避してくれるそうなので、こちらを採用。
これから他のお客さんのフォームもチェックしないと つД`)
少し前に、今まで普通に動いていたCGIも動かなくなったことがあったし、そもそもの原因はサーバの軽微なバージョンアップか?

日記

Posted by ponnao