2013-10-16 47 views
3
String Text = "This is example ”Text”"; 
Text = WebUtility.HtmlDecode(Text); 
System.IO.File.WriteAllText(@"c:\x.txt", Text, Encoding.ASCII); 

正確的輸出:C#WebUtility.HtmlDecode返回「?」

This is example 」Text」 

x.txt的輸出:

This is example ?Text? 
+2

您試圖使用不包含Unicode字符148的ASCII。使用ASCII時,您的「正確輸出」不可能被寫入。 –

+0

如何獲得正確的輸出? – user2886646

+0

@ user2886646嘗試'「這是示例‘文本’」' –

回答

0

您可以使用 「ISO-8859-1」 編碼:

變化

System.IO.File.WriteAllText(@"c:\x.txt", Text, Encoding.ASCII); 

System.IO.File.WriteAllText(@"c:\x.txt", Text, Encoding.GetEncoding(28591)); 
+0

在我之前發生這個問題,我相信。 –

+0

@JonSkeet這爲我工作。 – user2886646

+0

@ user2886646:這實際上是巧合,我相信 - 無論你用什麼讀取文件,都會將它視爲CP1252,儘管你已經把它寫成ISO-8859-1。你的'Text'字符串包含U + 0094,它是*不是*引號。 –