HTML电子邮件中的Umlaute问题

时间:2014-07-18 09:59:34

标签: php html email encoding utf-8

我发送的HTML电子邮件中包含一个ü-Umlaut。我在HTML <head>以及邮件标题中将编码设置为UTF-8:

HTML

$body = '<html>
            <head>
                <title>My Title</title>
                <meta charset="utf-8">
            </head>
            <body>
                <h1>Here comes the ü-Umlaut</h1>
                ...
                <p>Here comes an ö-Umlaut</p>
            </body>
        </html>';

邮件标题

$header  = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=utf-8' . "\r\n";

在iPhone上查看电子邮件时,我看到ü而不是ü。但是在我的Gmail帐户上查看邮件时,ü会正确显示。 ö在两台设备上都能正确显示。

我的一位同事正确查看了他的电子邮件客户端中的ü。但是他没有看到ö,而是看到里面有问号的方格(可能类似于)。

现在这里出了什么问题,我该如何解决?

1 个答案:

答案 0 :(得分:0)

确保您的php文件也强制使用UTF-8:

<?php
header('Content-type: text/html; charset=UTF-8');  

调用HTML页面的计数相同:

<meta http-equiv="content-type" content="text/html; charset=utf-8">

或者如果您使用ajax:

    $.ajax(
        {
            url: './sendemail.php',
            type: 'POST',
            contentType: "application/x-www-form-urlencoded; utf-8",

所有参与者都必须使用相同的字符集。尤其是最终的电子邮件客户端:

<meta http-equiv=Content-Type content=text/html; charset=UTF-8>