人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpの pearを使ってメール送信プログラムを作っています。

HTMLメールにすると、アウトルックなどPCのメーラーではOKなのですが、
YahooメールなどのWebメール系で日本語が文字化けしてしまいます。
大変困っております。どなたかご教授いただけないでしょうか?

<文字化けする言葉>(例)◇弊社からの情報の配信停止をご希望される方は、文末よりお手続きください◇

<文字化け例>$B!~J@ pJs$NG[?.Dd;_$r$44uK>$5$l$kJ}$O!"J8Kv$h$j$*

※どうも utf-8 と誤認識されているみたいです。手動でiso-2022-jpにすると
正しく読み込みます。

------以下プログラム------
$header['MIME-Version']="1.0";
$header['Content-type']="multipart/alternative; boundary=00001"
$to="ebisayu@yahoo.co.jp";
$html=mb_convert_encoding($BODY_PC_i, "ISO-2022-JP", "EUC-JP");

------以下HTMLメール抜粋------
--00001
Content-Type: multipart/related; boundary="0-497915731-1308573921=:93868"

--0-497915731-1308573921=:93868
Content-Type: text/html;
charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=iso-2022-jp">
....以下省略

以上、よろしくお願いいたします。

●質問者: ebina01
●カテゴリ:コンピュータ インターネット
✍キーワード:alternative co.jp DD EUC-JP HTML
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ric-m
●100ポイント

これでもだめですか?

mb_convert_encoding($BODY_PC_i, "ISO-2022-JP", "auto");

(例)

※¥は半角にしてください。

$recipients = 'to@example.com';

$headers = array(

'From'=>'from@example.com',

'To'=>$recipients,

'Subject'=>mb_encode_mimeheader( 'テスト', 'ISO-2022-JP' )

);

$body = mb_convert_encoding( 'これは¥nテストです。', 'ISO-2022-JP', 'auto' );

$mailobject->send( $recipients, $headers, $body );

■ダメならここも参考にしてみてはどうでしょうか?

http://techblog.ecstudio.jp/tech-tips/mail-japanese-advance.html


2 ● km1981
●100ポイント

本文の文字コードを変換してやるといいと思います

$body = mb_convert_encoding($body, "ISO-2022-JP", "auto");

http://www.phpbook.jp/pear/pear_mail/index5.html

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ