phpBBの文字化け対策
./language/lang_japanese/email/の中のtplファイルをすべてEUC-JPで保存し直します。
./includes/emailer.cgi (CGIで運用しているので)
200行目あたりの@mailを実行している行の前に
$this->msg = mb_convert_encoding($this->msg,'JIS','EUC-JP');
$this->subject = mb_convert_encoding($this->subject,'JIS','EUC-JP');
$this->subject = mb_encode_mimeheader($this->subject,'ISO-2022-JP');
としました。
EUC-JPで実行しているので、テンプレートもEUC-JPで読み込まれないと食い違いが出てきます。そこで、とりあえず、テンプレートをEUC-JPで読み込ませます。その後、プログラム上で文字列が挿入されます。
メールはiso-2022-jp(JIS)で送信されるので、mb_convert_encodingでJISに変換します。
最後に、タイトルのsubjectはMIME変換しないといけないので、mb_encode_mimeheaderで変換します。
コメント