[PHP-users 16893]Re: メール送信時に文字化け
Kishimoto Yuu
yu-kishimoto @ saturin.co.jp
2003年 7月 22日 (火) 12:51:46 JST
こんにちは、Kishimoto です。
キャスター マイルド <caster_mild_49401219 @ hotmail.com> wrote:
> よけいなことをせずに、シンプルに
> $subject = mb_convert_encoding($subject, "JIS", "auto");
> $subject = "=?iso-2022-jp?B?" . base64_encode($subject) . "?=";
> とJIS変換して、ヘッダをつけてやると、うまくいきました。
解決されたのでしたら良かったですが、元のソースを
見ると
> $subject = "予約完了!申し込みありがとうございます。";
> $subject = mime_enc($subject,1);
> if(preg_match("/[\x80-\xA0]/",$mingle_name)){
> $name = mime_enc($mingle_name,1);//日本語ならMIMEヘッド
> }
> // 中略
> if(!mail($mail_address, $subject, $body, $head)){
となっていて、単に $subject がMIMEエンコードされていない
だけなのではないでしょうか?
Subject: の文字列が固定ならば良いですが、入力などで変わる
場合、mime_enc の中で行っている(らしい?)半角カナ→全角
変換などの処理が必要になると思います。
メールで日本語を扱う際の決まりごとについては、こちら↓の
サイトを参考にされるとよろしいかと思います。
http://www.mew.org/Newsletters/
それでは、失礼します。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Kishimoto Yuu <yu-kishimoto @ saturin.co.jp>
PHP-users メーリングリストの案内