我正在创建一封电子邮件正文,使用以下代码:
如果我使用非umlauts字符,一切都正常,但是一旦我在我的
那么我该如何对
using (var streamWriter = new StreamWriter(fooFileName, false, Encoding.UTF8))
{
streamWriter.Write(fooMessage);
}
现在我正在使用以下方法来读取这个文件:
var mailMessage = new System.Net.Mail.MailMessage
{
From = fooSender,
To =
{
fooRecipient
},
Subject = fooSubject,
SubjectEncoding = Encoding.UTF8,
BodyEncoding = Encoding.UTF8
};
// fooMediaType can be
// - System.Net.Mime.MediaTypeNames.Text.Html
// - System.Net.Mime.MediaTypeNames.Text.Plain
var alternateView = new System.Net.Mail.AlternateView(fooFileName, fooMediaType);
mailMessage.AlternateViews.Add(alternateView);
如果我使用非umlauts字符,一切都正常,但是一旦我在我的
alternateView
中使用umlauts字符,它们就会出现问题。那么我该如何对
alternateView
进行编码以使一切正常运行?
Encoding.UTF8.HeaderName
,因为字符集参数将添加到 Content-Type 标头中。在这种情况下,Encoding.UTF8.WebName
和Encoding.UTF8.HeaderName
都返回相同的值utf-8
,所以并不重要。 - Marc Selman