代码之家  ›  专栏  ›  技术社区  ›  Tom

纯文本电子邮件中的磅符号

  •  3
  • Tom  · 技术社区  · 15 年前

    我试图用.NET在纯文本电子邮件中插入一个磅符号,但它显示为_

    我能怎么解决这个问题吗?

    谢谢

    5 回复  |  直到 12 年前
        1
  •  3
  •   David Johnstone    15 年前

    唯一能让它正常工作的方法是确保你对电子邮件的编码与你对其进行解码时使用的字符编码相同。在这种情况下,您正在用UTF-8编码电子邮件,但是 decoding it 好像是拉丁语-1。对这个案子来说可能是杀伤力太大了,但是 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets 是个好读物。

    一个解决方案是添加 Content-Type: text/plain; charset=UTF-8 作为标题。

        2
  •  1
  •   Quentin    15 年前

    确保声明的电子邮件字符编码与实际使用的字符编码匹配。

        3
  •  1
  •   sleske    15 年前

    嗯,这取决于你发送纯文本邮件时使用的字符编码。

    记得, 没有明文这样的东西 -您总是需要使用一个编码,并且有许多可以从中选择:-)。

    如果使用的编码有磅符号(Unicode编码有磅符号,ASCII编码没有磅符号),那么只需正常输出,它就可以工作了。

    另请参阅这篇优秀的文章:

    The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

        4
  •  0
  •   Tim Dawson    12 年前

    我意识到这条线已经运行两年了,但很明显人们仍然需要这个问题的答案。我的经验与“纯文本”电子邮件有关,而不是HTML。

    我发现“content-type:text/plain;charset=utf-8”不能正常工作。字符集本身需要用引号括起来,如下所示:

    “内容类型:text/plain;charset='utf-8'”

    当然,其他几个字符也能很好地工作。

        5
  •  -3
  •   Garry    15 年前

    这取决于你是如何插入的,但有几个选项是…

    $ 
    

    Convert.ToChar(35);