c# - 如何在 AlternateView 上设置编码

标签 c# .net-3.5

我正在通过

创建一个mailBody
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);

如果我使用非变音符号,一切正常,但一旦我在我的 alternateView 中使用变音符号,它们就会损坏。

那么如何在 alternateView 上设置某种编码以确保一切正常?

最佳答案

 var alternateView = new AlternateView(fooFileName, fooMediaType)
 {
      ContentType =
      {
           CharSet = Encoding.UTF8.WebName
      }
 };

关于c# - 如何在 AlternateView 上设置编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4185371/

相关文章:

C# 画线 OnPaint() 与 CreateGraphics()

c# - 在给定的时间间隔内运行代码

c# - 在窗体之间传递值 (winforms)

c# - 重置按钮在 asp.net 中不起作用

c# - CallbackOnCollectedDelegate - 未附加调试器时会发生什么?

c# - 如何在 C# 中为结构设置默认值?

c# - 有什么工具可以检测哪个dll正在泄漏内存吗?

c# - 是否可以在一行代码中使用一个 LINQ

c# - .NET DLL 冲突

c# - 检查 Request.QueryString 中是否存在未分配的变量