Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在AlternateView上设置编码_C#_.net 3.5 - Fatal编程技术网

C# 如何在AlternateView上设置编码

C# 如何在AlternateView上设置编码,c#,.net-3.5,C#,.net 3.5,我正在通过 using (var streamWriter = new StreamWriter(fooFileName, false, Encoding.UTF8)) { streamWriter.Write(fooMessage); } 现在我正在使用这个文件 var mailMessage = new System.Net.Mail.MailMessage { From = fooSender, To = { fooRecipient

我正在通过

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
,因为charset参数将添加到内容类型头中。在本例中,
Encoding.UTF8.WebName
Encoding.UTF8.HeaderName
都返回相同的值
utf-8
,因此这并不重要。
 var alternateView = new AlternateView(fooFileName, fooMediaType)
 {
      ContentType =
      {
           CharSet = Encoding.UTF8.WebName
      }
 };