SmtpClient 主旨中文編碼亂問題
發表於 : 週二 9月 13, 2011 11:31 am
[syntax="csharp"]
public static class StringExtension
{
public static string ToBase64String(this string subject, string encoding)
{
return Convert.ToBase64String(Encoding.GetEncoding(encoding).GetBytes(subject));
}
}
[/syntax]
[syntax="csharp"]
string testMail = "rusli_wu@xxx.com.tw";
string subject = @"小堃모발 이식 비용堃一杯を求めて ラーメンは進化し続ける雲端時代來臨,心動不如馬上行動,搶先體驗 XXXXXX 服務!";
string body = @"小堃모발 이식 비용堃一杯を求めて ラーメンは進化し続ける雲端時代來臨,心動不如馬上行動,搶先體驗 XXXXXX 服務!";
//// B 表示Base64 編碼
//// Q 表示QP編碼 <<註1>>
sub = string.Format("=?UTF-8?B?{0}?=", Convert.ToBase64String(System.Text.Encoding.GetEncoding("UTF-8").GetBytes(subject)));
var mailMessage = new MailMessage
{
From = new MailAddress(testMail), ////寄件者
BodyEncoding = Encoding.GetEncoding("UTF-8"),
//HeadersEncoding = Encoding.GetEncoding("GB2312"), //// 設定它沒甚麼鳥用
SubjectEncoding = Encoding.ASCII, //// Tony's hack 重點
IsBodyHtml = true, //// 支援Html 內容
Subject = sub,
Body = body,
};
[/syntax]
註1:
QP 編碼
var sub = "=?UTF-8?Q?=D0=A1=88=D2=88=D2=D2=BB=B1=AD=A4=F2=C7=F3=A4=E1=A4=C6=A5=E9=A9`=A5=E1=A5=F3=A4=CF=DFM=BB=AF=A4=B7=BEA=A4=B1=A4=EB=EB=85=B6=CB=95r=B4=FA=81=ED=C5R=A3=AC=D0=C4=84=D3=B2=BB=C8=E7=F1R=C9=CF=D0=D0=84=D3=A3=AC=93=8C=CF=C8=F3w=F2=9E_VIdegree_=90=DB=EE=99=BF=CD=B7=FE=84=D5=A3=A1?=";
public static class StringExtension
{
public static string ToBase64String(this string subject, string encoding)
{
return Convert.ToBase64String(Encoding.GetEncoding(encoding).GetBytes(subject));
}
}
[/syntax]
[syntax="csharp"]
string testMail = "rusli_wu@xxx.com.tw";
string subject = @"小堃모발 이식 비용堃一杯を求めて ラーメンは進化し続ける雲端時代來臨,心動不如馬上行動,搶先體驗 XXXXXX 服務!";
string body = @"小堃모발 이식 비용堃一杯を求めて ラーメンは進化し続ける雲端時代來臨,心動不如馬上行動,搶先體驗 XXXXXX 服務!";
//// B 表示Base64 編碼
//// Q 表示QP編碼 <<註1>>
sub = string.Format("=?UTF-8?B?{0}?=", Convert.ToBase64String(System.Text.Encoding.GetEncoding("UTF-8").GetBytes(subject)));
var mailMessage = new MailMessage
{
From = new MailAddress(testMail), ////寄件者
BodyEncoding = Encoding.GetEncoding("UTF-8"),
//HeadersEncoding = Encoding.GetEncoding("GB2312"), //// 設定它沒甚麼鳥用
SubjectEncoding = Encoding.ASCII, //// Tony's hack 重點
IsBodyHtml = true, //// 支援Html 內容
Subject = sub,
Body = body,
};
[/syntax]
註1:
QP 編碼
var sub = "=?UTF-8?Q?=D0=A1=88=D2=88=D2=D2=BB=B1=AD=A4=F2=C7=F3=A4=E1=A4=C6=A5=E9=A9`=A5=E1=A5=F3=A4=CF=DFM=BB=AF=A4=B7=BEA=A4=B1=A4=EB=EB=85=B6=CB=95r=B4=FA=81=ED=C5R=A3=AC=D0=C4=84=D3=B2=BB=C8=E7=F1R=C9=CF=D0=D0=84=D3=A3=AC=93=8C=CF=C8=F3w=F2=9E_VIdegree_=90=DB=EE=99=BF=CD=B7=FE=84=D5=A3=A1?=";