2013-03-13 168 views
0

在C#控制檯應用程序中,我使用的是stringbuilder to write data to a local file。這似乎在小的損失如何正確管理該待處理不當特殊字符處理c中的特殊字符#

Muñoz 

輸出到文件

Muñoz 

+0

字符串構建器沒有編碼的概念。 – 2013-03-13 17:44:20

+0

一切工作正常;該文件的內容被編碼爲UTF-8。另外,'StringBuilder'不知道關於文件的任何信息。 – 2013-03-13 17:44:42

+0

是的,我知道我正在使用StringBuilder與File.WriteAllText( – Lloyd 2013-03-13 17:51:15

回答

5

您的C#代碼正在正確編寫一個UTF8文件,其中ñ被編碼爲3個字節。

你錯了讀取該文件作爲不同的編碼,顯示這些字節爲三個不需要的字符。
您需要將文件讀取爲UTF8。

+0

)有趣的是,我輸出的文件爲.csv,我如何指定如何以UTF8格式讀取文件? – Lloyd 2013-03-13 17:52:32

+0

這樣做了,我更改了文件。 SaveToFile從File.WriteAllText(filename,sb.ToString());到File.WriteAllText(filename,sb.ToString(),Encoding.UTF8);非常感謝,Muñoz,Peña,Bråten等人也都很感謝你。:) – Lloyd 2013-03-13 17:58:31