【问题标题】:MailMessage.Subject Finnish encodingMailMessage.Subject 芬兰语编码
【发布时间】:2016-04-20 20:27:25
【问题描述】:

我正在尝试发送主题为“Käyttörajan muutos”的芬兰语电子邮件。

尝试了不同的编码:

message.Subject = "=?iso-8859-1?B?" + Convert.ToBase64String(Encoding.GetEncoding(1252).GetBytes(strSubject)) + "?=";

message.Subject = "=?utf-8?B?" + Convert.ToBase64String(Encoding.UTF8.GetBytes(strSubject)) + "?=";

结果我得到:

Käyttörajan muutos

有人有解决这个问题的办法吗?

【问题讨论】:

  • 有什么问题?
  • 它以 1252 编码,就像您要求的那样。无论您使用什么程序或软件来接收和显示消息,都会对此感到不满。考虑改用 MailMessage.SubjectEncoding 属性。
  • 我试过了。结果是一样的。

标签: c# encoding mailmessage


【解决方案1】:

主要问题是,当我从 Request 中实现主题时,我使用的是

HttpUtility.HtmlEncode(Request.Form["strSubject"]);

这已经将我的字符串编码为"Käyttörajan muutos"

所以,

message.Subject = "=?utf-8?B?" + Convert.ToBase64String(Encoding.UTF8.GetBytes(strSubject)) + "?=";

有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多