我正在发送包含HTML的电子邮件。以下是让我悲伤的片段。
编辑:这是更多的电子邮件,删除了敏感信息
MIME-Version: 1.0
From:
To:
Date:
Subject:
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width" />
<strong>€3,500</strong>
</body>
</html>
“â,”是欧元符号的UTF-8编码。所以大多数电子邮件客户端似乎都很好地呈现欧元字符,除了Microsoft Outlook 2007(也许是更高版本),其中欧元字符显示为“â,”。
有人知道为什么会这样吗?
答案 0 :(得分:3)
邮件的MIME标头可能优先于也可能不优先于不同客户端中的HTML元标记。你最好确保他们都同意。
:
--mimeboundary
Content-type: text/html; charset=utf-8
Content-transfer-encoding: 8bit
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
:
答案 1 :(得分:2)
也许您可以尝试€
而不是'€'
答案 2 :(得分:0)
您是如何设置HTML的?你在设置HTMLBody属性吗?在这种情况下,该值必须是UTF-16,因为IDispatch友好的COM中的所有字符串都是2字节的UTF-16字符串。
对特殊字符进行HTML编码,而不是依赖于代码页转换,这样会好得多。