[PHP-users 19920]メール送信時の文字コード

lavlav @ paw.hi-ho.ne.jp lavlav @ paw.hi-ho.ne.jp
2004年 1月 16日 (金) 14:23:52 JST


近藤と申します。
宜しくお願い致します。

メール送信時の文字コードについて、色々と調べていたのですが、
どうもサイトによって情報がまちまちなのです。

ある所ではJISが好ましいと書いてあったり、
また違う所では、SJISでなければ文字化けすると書いてあったり。

また、エンコードする際に使用する関数もサイトによってまちまちでした。

と、そこで思ったのが、「正しいやりかたは何か?」です。

現在、私の場合は、
EUC-JPでファイルを作成
-----------------------
$from = mb_encode_mimeheader("From: ".$from_name)." <".$from_addr.">";
$to = mb_encode_mimeheader("$to_name)." <".$to_addr.">";
$subject = "=?ISO-2022-JP?B?".base64_encode(i18n_convert($subject,"JIS"))."?=";
$mail_body = mb_convert_encoding($mail_body,"iso-2022-jp","EUC-JP");
-----------------------

こんな感じでmail関数でメールを処理してます。

マニュアルでmb_send_mail関数の項目を見ると、
(1) 上記の文字コード変換を自動でやってくれる。
(2) mb_language()の設定だけちゃんとやれば文字化けはしない。
と、読み取れたのですが、確かなのでしょうか?

また、正しい文字コード変換方法はどのようにするのでしょうか。

宜しくお願い致します。






PHP-users メーリングリストの案内