【问题标题】:French character being converted to © sign法语字符被转换为 © 符号
【发布时间】:2012-06-15 10:21:22
【问题描述】:

我正在尝试在 c# 中通过 SMTP 发送邮件。

示例邮件内容[法语]:

<html xmlns='http://www.w3.org/1999/xhtml'><head> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /><body>
Votre compte à été activé
</body></html> 

已收到邮件:Votre compte à été activé

谁能帮助我为什么邮件内容显示版权标志而不是法语字符。

【问题讨论】:

  • 您需要将BodyEncoding设置为Encoding.UTF8
  • 并确保原始文本实际上是 UTF8。如果原始文本来自以 ASCII 编码保存的文件(例如 aspx 文件、cs 文件),结果仍然是错误的。
  • @PanagiotisKanavos:我假设原始内容是一个字符串。此外,他的问题文本看起来像 UTF8-as-ASCII
  • 原始内容存储在一个字符串变量中。我直接将它传递给MailMessage正文。

标签: c# encoding smtp html-email


【解决方案1】:

请确保您传递的字符串与您在此处打印的“Votre compte à été activé”相同,并且使用 UTF-8 很好,它可以显示任何类型的字符,但您需要确保它与您选择的位置相同否则你必须先保存正确。

如果您从 sql 数据库中选择它,您必须使用 nvarchar 数据类型来存储任何类型的字符。如果是 varchar 也会引发同样的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2013-04-11
    • 2012-06-03
    • 1970-01-01
    • 2019-11-04
    • 2019-11-08
    • 1970-01-01
    相关资源
    最近更新 更多