[PHP-users 26185] Re: PHP4.4.0でメールを送信すると、題名が文字化けします。

くらげ php_user @ lupo.jp
2005年 7月 15日 (金) 14:50:18 JST


> Seijunと申します。いつもお世話になっています。
>
> OSにRedHat Enterprise Linux ES 3.0を使っています。PHPを4.3.11から4.4.0に入
れ替
> えたのですが、メールを送信すると、見出しが文字化けします。テスト用に、次の
よう
> なスクリプトmail.phpを作っています。また、PHP4.3.11では文字化けしないよう
なの
> ですが・・・。
>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html;charset=euc-jp">
> <title>メールの送信テスト</title>
> </head>
> <body>
> <h1>メールの送信テスト</h1>
> <br>
> <?php
> print "メールの送信テスト:\n";
> print "<br>\n";
> $mailadr = "hoge @ wfuga.co.jp";
> //$subject = "Subject";
> $subject = "題名";
> $header = "From: taro @ fuga.co.jp\nReply-to: taro @ fuga.co.jp\nR-Mailer:
PHP/".
> phpversion();
> $message = "今日は、テストです。\n";
> $message .= "今日は、テストです。\n";
> $message .= "今日は、テストです。\n";
> $message .= "今日は、テストです。\n";
> $message .= "今日は、テストです。\n";
>
> mb_language("Japanese");
> if (mb_send_mail($mailadr, $subject, $message, $header) == true)
>     print $mailadr . "にメールを送信しました。";
> else
>     print $mailadr . "にメールを送信出来ませんでした。";
> ?>
> </body>
> </html>
>
> これで、メールを送信すると、メーラーにShuriken Pro 4を使った場合、見出しが
> 「L名」というように化けてしまうのです。ちなみに、本文は化けません。回避策
を教
> えていただければ有り難いのですが。
>
> なお、/usr/local/lib/php.iniの[mbstring]は、次のようになっています。
> [mbstring]
> mbstring.language = Japanese
> mbstring.internal_encoding = EUC-JP
> mbstring.http_input = auto
> mbstring.http_output = SJIS
> mbstring.detect_order = auto
> ;mbstring.encoding_translation = off
> mbstring.encodign_translation = on
> mbstring.substitute_character = none;
>

こんにちわ、くらげです。

$subject = mb_convert_encoding($subject, "JIS", "EUC-JP");
$message = mb_convert_encoding($message , "JIS", "EUC-JP");
mb_language("Japanese");

こんな感じでいかがでしょうか。
JISに変換させると文字化けなく送れました。



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