讀取檔案時出現中文亂碼問題的解決

來源:互聯網
上載者:User
解決|問題|中文|中文亂碼   最近有些朋友總是發現讀取檔案的時候發現亂碼,不過用工具開啟一看卻是好的。
其實這個問題的罪魁禍首是VS.net的編輯器,在MS下一般檔案編輯器(Notepad,ultraedit)都是使用作業系統預設編碼(不同的系統會不同),如在我的英文xp是ANSI,vs.net建立檔案的儲存以後使用的編碼卻是UTF8,大概是為了和StreamReader和StreamWriter開啟檔案預設得encoding為UTF8保證一致的緣故吧。
  為什麼我們用工具開啟卻是好的,那是因為MS的所有編輯器都會根據檔案中使用的編碼自動使用對應的編碼開啟檔案。
  所以總結出來解決問題,首先要看得是這個檔案的建立工具(注意是建立程式,而不是檔案的預設開啟工具)是哪個在決定使用對應的Encoding開啟檔案,而不是盲目的嘗試各種編碼

針對一些windows工具建立的檔案可以使用
StreamReader read = new StreamReader(filename, System.Text.Encoding.Default);

vs.net建立的檔案可以使用
StreamReader read = new StreamReader(filename);

對於一些網路流如httpresponse的位元組流,可以使用其他GB2312

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。