![](/img/trans.png)
[英]How to create a multi line body in C# System.Net.Mail.MailMessage
[英]setting the encoding of a System.Net.Mail.MailMessage body while getting text from xml using c#
我正在嘗試設置MailMessage
主體的編碼,以便它能夠顯示德語的“變音符”(ä,ö,ü)。 我從xml文件中獲取消息文本。 xml的編碼是iso-8859-1
,也是MailMessage
主體。
MailMessage msg = new MailMessage();
msg.From = new MailAddress(sFrom);
msg.To.Add(sTo);
msg.Subject = sSubject;
msg.Body = sBody;
msg.IsBodyHtml = true;
msg.BodyEncoding = Encoding.GetEncoding("iso-8859-1");
xml的第一行是這樣的:
<?xml version="1.0" encoding="iso-8859-1"?>
我也嘗試了UTF8
和Unicode
編碼,但這都無濟於事。 身體仍然無法顯示變音。
我有什么特別需要注意的,還是我使用的編碼錯誤?
編輯:這是一個Windows窗體應用程序,並且我正在使用.NET Framework 4.5.2
EDIT2:我正在使用XmlSerializer
來獲取xml數據。
XmlSerializer xSerializer = new XmlSerializer(typeof(App));
using (StreamReader srXml = new StreamReader(_sFileName))
{
_oAppConfig = (App)xSerializer.Deserialize(srXml);
}
請注意, App
是我為自己創建的類。
嘗試在讀取文件時指定編碼,例如:
XmlSerializer xSerializer = new XmlSerializer(typeof(App));
using (StreamReader srXml = new StreamReader(_sFileName, Encoding.GetEncoding("iso-8859-1")) )
{
_oAppConfig = (App)xSerializer.Deserialize(srXml);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.