重音字符未显示
Posted
技术标签:
【中文标题】重音字符未显示【英文标题】:Accented characters not showing up 【发布时间】:2012-09-04 15:34:44 【问题描述】:我有一个要求,将电子邮件发送给用户,他可以直接回复该电子邮件,并且该电子邮件的内容会发布到他的帐户中。
问题是当用户从他的电子邮件中发布内容时,重音字符没有正确显示。我使用MailMessage
类发送电子邮件:
message.BodyEncoding = Encoding.UTF8;
message.SubjectEncoding = Encoding.UTF8;
如您所见,正文和主题都是 UTF8 编码的。但是,当我从电子邮件中发布消息时,口音会转换为 ?。谁能告诉我我错过了什么?
编辑:这和IsBodyhtml
有什么关系吗?我还没有将IsBodyHtml
设置为true。是必须的吗?
【问题讨论】:
您是否尝试过对文本进行 HTML 编码? 不,你的意思是我应该在发送时对电子邮件进行编码?请注意,当我从我的应用程序发送电子邮件时,我可以看到重音文本。但是当用户回复该电子邮件时,我看不到重音文本。您认为对电子邮件进行编码是否有助于解决此问题? 好吧,您无法控制他们对电子邮件使用的编码。如果他们将您的 UTF8 转换为 ASCII,那么您的特殊 e 将被丢弃 ? @jsobo:假设他们不这样做。那你觉得口音有什么问题呢? 发布您遇到问题的口音 【参考方案1】:我似乎认为,尽管使用 UTF8 进行编码,但用于正文的默认媒体类型是 text/plain - 这是 ASCII(即ASCII 字符集)。如果您使用IsBodyHtml
,它将使用文本/html 媒体类型,该媒体类型将使用ISO-8859-1 字符集。
【讨论】:
太棒了!我对此也有一个疯狂的猜测。感谢您确认我的疑问。以上是关于重音字符未显示的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法突出显示崇高文本或任何其他文本编辑器中的所有特殊重音字符?
PHP serialize() 带有重音字符导致不完整的序列化