0

I'm using   but getting � on my email. How can I fix this?

部分代码:

    $review = "
        <table width='100%' border='0'>
        <tr>
            <td class='text_font' >Customer Name:&nbsp;&nbsp; $account_nam</td>
        </tr>
        </table>";

它显示为

客户名称:�� 样本账户名称

还有这个:

<td width='20%' style='border-bottom: 1px solid #CECECE;'></td>

<td>没有任何价值,但它会显示有趣的符号。</p>

4

3 回答 3

1

我猜你的编码是 UTF-8,在邮件客户端它是 ISO,反之亦然。请务必在邮件标头中发送正确的编码。

用空格生成边距无论如何都不是一个好主意,为什么不为字段和值分开表格单元格:

$review = "
    <table width='100%' border='0'>
    <tr>
        <td class='text_font' >Customer Name:</td>
        <td>" . $account_name . "</td>
    </tr>
    </table>";
于 2013-08-22T08:20:33.327 回答
0

这很可能是编码问题。可能您正在使用的编辑器上的设置是以某种无法识别的编码保存文本。我使用记事本++也遇到过类似的问题,但没有考虑编码。

于 2013-08-22T00:08:47.003 回答
0

您可能已经从 MS Word 中导入了文本。Word 有一些时髦的字符,例如带角度的引号等。

您可以htmlentities按照 Daryl 在评论中的建议使用,但我过去发现您必须像这样将这些字符替换为 str_replace:

$text = str_replace("&ldquo;", '"', $text);
$text = str_replace("&rdquo;", '"', $text);
$text = str_replace("&lsquo;", "'", $text);
$text = str_replace("&rsquo;", "'", $text);
$text = str_replace("&hellip;", '...', $text);
$text = str_replace("&ndash;", '-', $text); 
于 2013-08-22T07:57:30.393 回答