3

以下を使用してPHPメールを送信しています:

mail($email, $subject, $message, $header);

次のような価格のテーブルを含むメッセージを次のようにレイアウトします。

$message = <<<EOF

<td style=\"border-bottom: 1px solid black; padding-bottom:4px; padding-top:4px; padding-right: 10px; text-align:right;\">£</td>

EOF;

一部の電子メール クライアントでは、£ は £ と表示されます。

これは文字の書式設定に関係していることを理解しています。しかし、この方法で PHP メールを送信する際に UTF-8 文字セットを設定するにはどうすればよいでしょうか?

ティア

4

3 に答える 3

3

ポンド記号にHTMLエンティティを使用する

&pound;
于 2013-02-15T13:02:44.693 に答える
3

まず、あなたは使用することができます

&pound;

£生のキャラクターの代わりに。

電子メールの文字エンコードを設定するには、ヘッダーを設定します。

$from    = 'me@domain.com';
$to      = 'to@domain.com';
$subject = 'Subject';


$headers = "From: " . $from . "\r\n";
$headers .= "Reply-To: ". $from . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

$message = 'message';

mail($to, $subject, $message, $headers);
于 2013-02-15T13:04:41.703 に答える
3

これは、fin1teよりも一般的なソリューションです。

$header = array(
    "From: {$email}",
    "MIME-Version: 1.0",
    "Content-Type: text/html;charset=utf-8"
);
$result = mail($email, $subject, $message, implode("\r\n", $header));
于 2013-02-15T13:05:19.740 に答える