我正在尝试使用.net将英镑符号插入纯文本电子邮件中,但它显示为£
我有什么想法可以解决这个问题吗?
感谢
答案 0 :(得分:3)
让它运行的唯一方法是确保使用与解码时相同的字符编码对电子邮件进行编码。在这种情况下,您使用UTF-8编码电子邮件,但decoding it编码电子邮件,就好像它是Latin-1一样。对于这种情况可能有点矫枉过正,但 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets 是一个很好的阅读。
一种解决方案是添加Content-Type: text/plain; charset=UTF-8
作为标题。
答案 1 :(得分:1)
确保电子邮件的声明字符编码与您实际使用的字符编码匹配。
答案 2 :(得分:1)
嗯,这取决于您用于发送纯文本邮件的字符编码。
请记住,没有明文这样的东西 - 你总是需要使用编码,有很多可供选择: - )。
如果您使用具有井号的编码(Unicode编码,ASCII,例如ASCII),则只需正常输出,它应该有效。
P.S。另见这篇优秀的文章:
答案 3 :(得分:0)
我意识到这个帖子运行已经两年了,但显然人们仍然需要解决这个问题。我的经验涉及“纯文本”电子邮件,而不是HTML。
我发现“Content-Type:text / plain; charset = UTF-8”无法正常工作。 charset本身需要引用为:
“Content-Type:text / plain; charset ='UTF-8'”
当然,其他几个字符集也可以很好地工作。
答案 4 :(得分:-3)
取决于你如何插入它,但有两个选项......
$
或
Convert.ToChar(35);