VS讀取文件或寫入文件時出現中文亂碼問題


最近我發現我從文本文檔中讀取文件處理后再存入新文本文檔后,只要是有中文的都顯示亂碼了~~當我把中文去掉后一切又都正常了,而在我處理過程中,很確定沒有對中文進行處理。使用記事本打開發現沒有亂碼現象,但是在VC里顯示是亂碼,而且原來可以運行的也不能運行了,去掉中文后一切正常。

參考網上的一些資料發現:

  • 操作系統默認編碼是大多是ANSI(具體有不同),txt記事本打開文件時默認以系統默認的缺省編碼方式打開(中文為GB2312),所以在記事本中打開時顯示正常。而VS打開以及新建文件使用的是UTF8編碼。所以會出現亂碼錯誤。解決辦法很簡單:
  • 出現中文時,打開文件請使用:

StreamReader read = new StreamReader(filename, System.Text.Encoding("GB2312"));

String strContent=File.ReadAllText(filename,Encoding.GetEncoding("GB2312"));

新建文件請使用:

StreamWriter writer= new StreamWriter(filePath , false, Encoding.GetEncoding("GB2312"));

writer.Write(content);//content為要寫入的內容

sw.Flush();

sw.Close();

親測可用,問題解決! 網上找了弄了好久才解決掉。

切記:打開時要用,寫入是也要用!莫忘寫入時編碼!!切勿使用UTF8~~沒用的……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM