簡體   English   中英

使用正確的編碼向使用 Outlook 的人發送特殊字符

[英]using the correct encoding for sending special characters to people using outlook

我想知道我應該使用什么編碼格式來向使用 Outlook 的人發送電子郵件中的特殊字符。 我已經完成了自己的研究並遇到了做事的方法,但沒有一種對我有用。 我檢查了 Outlook,似乎默認情況下,它使用西歐 (Windows) 格式,因此使用 Windows-1252 編碼(如果我搜索和理解的內容是正確的)。 但是,當我嘗試從 C# 中的 unicode 轉換為 Windows-1252 編碼時,我的 Outlook 仍然無法識別特殊字符是合法的。 例如在一些隨機人的名字下面:

預期結果: Moné Rêve 先生

實際結果(錯誤): MonéRêve 先生

任何人都可以幫助我了解我應該采取什么方法來使上述正確。

我的代碼:

string Fullname = "Mr Moné Rêve";
Encoding unicode = new UnicodeEncoding(); 
Encoding win1252 = Encoding.GetEncoding(1252); 

byte[] input = unicode.GetBytes(Fullname);      
byte[] output = Encoding.Convert(unicode, win1252, input);

string result = win1252.GetString(output);  

沒有“正確”編碼。 您應該在 HTML 中指定字符集。

這是從我收到的一封電子郵件中獲取的(您可以使用例如 Outlook 從電子郵件中獲取源):

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

當您在文檔上設置編碼時,您必須指定您使用的編碼,否則接收者將不知道您使用的是哪種編碼。 可以使用您希望使用的任何編碼來讀取編碼的聲明,因此可以在不知道編碼的情況下讀取編碼。

閱讀有關編碼及其工作原理的內容: http : //www.joelonsoftware.com/printerFriendly/articles/Unicode.html

最后,我去檢查字符串中的特殊字符並將特殊字符更改為它們的等效代碼,例如 é 變為&#233;

最好的方法是將它們轉換為它們的 HTML 實體。 這是一個名為HTML 特殊字符轉換器的工具,它可以幫助您將特殊字符轉換為其 HTML 實體寬度,只需單擊一下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM