[PHP-users 12024] Re: mb_send_mailでのunicode

@ Edwin php-users@php.gr.jp
Thu, 5 Dec 2002 14:54:09 +0900


こんにちは。

"Shoichi Ono" <ono@searchina.ne.jp> wrote:

> 小野です。
>
> mb_send_mailについて質問です。
>
> 環境は
> Redhat7.3
> php4.2.3
>
> 多言語に対応するためにunicodeでメール送信しようとしています。
>
> $user = 'test';
>
> mb_language(uni);
> $rcd = mb_send_mail($to, $subject, $message, "FROM:$user");
>
> mb_language(uni);
> でunicodeを指定すると本文が消えてしまいます。(表現おかしいかもしれませ
> ん。)

このへんは、マニュアルの「User Contributed Notes」は参考になると思います。

  http://www.php.net/manual/ja/function.mb-send-mail.php

つまり、送信する前に$messageをbase64(またunicode)にエンコードされてから

--- 例:---->
  mb_language("uni");
  $body = chunk_split(base64_encode("International characters"));
  mb_send_mail("someone@example.com", "Subject", $body);
<----------

base64_encode()についたは:

  http://www.php.net/manual/ja/function.base64-encode.php

それにこれも参考になると思います:

  http://www.php.net/manual/ja/function.mb-convert-encoding.php

> でこれを
> mb_language("Japanese");
> を指定すると問題なく本文が表示されます。
>
> 件名と本文はunicodeです。

でしたら、mb_language("Japanese")にすると表示されないはずだと思いますけど…

- E

...[snip]...