重音字符未显示出来

5
我有一个要求,需要向用户发送电子邮件,并且他可以直接回复该电子邮件,该电子邮件的内容将被发布到他的账户中。
问题在于,当用户从他的电子邮件中发布内容时,重音字符无法正确显示。我使用MailMessage类发送电子邮件:
message.BodyEncoding = Encoding.UTF8;
message.SubjectEncoding = Encoding.UTF8;

你可以看到正文和主题都是UTF8编码的。但是当我从我的电子邮件发送消息时,重音符号会转换为?。有人能告诉我我错过了什么吗?

编辑:这与IsBodyHtml有关吗?我没有将IsBodyHtml设置为true。那是必需的吗?


你尝试过对文本进行HTML编码吗? - John Sobolewski
不,你的意思是说我在发送电子邮件时应该进行编码吗?请注意,当我从我的应用程序发送电子邮件时,我可以看到带重音的文本。但是当用户回复该电子邮件时,我无法看到带重音的文本。您认为对电子邮件进行编码是否有助于解决此问题? - Jack
1
你无法控制他们在电子邮件中使用的编码方式。如果他们将你的UTF8转换为ASCII,则你的特殊字符“e”将被替换为“?”。 - John Sobolewski
@jsobo: 假设他们不这样做,那么你认为口音有什么问题? - Jack
1
发布一个你遇到困难的口音。 - paparazzo
@Jack:如果jsobo的假设是正确的,但我们假设它不是,那么我们永远无法解决这个问题。 - phoog
1个回答

3
似乎尽管使用UTF8进行编码,但正文的默认媒体类型是text/plain——也就是ASCII(即ASCII字符集)。如果使用IsBodyHtml,它将使用text/html媒体类型,该媒体类型将使用ISO-8859-1字符集。

太棒了!我也猜对了这个。感谢您确认我的疑惑。 - Jack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接