遇到問題-用StreamReader讀取資料時出現亂碼,streamwriter寫入中文時出現亂碼
阿新 • • 發佈:2019-02-05
用StreamReader讀取資料時 出現亂碼,檢查下是否添加了轉碼
FileStream fs = new FileStream(url, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
FileStream fs = new FileStream(url, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader reader = new StreamReader(fs, System.Text.Encoding.UTF8);
如果有中文的話,注意要用gb2312
StreamReader sr = new StreamReader(fs,Encoding.GetEncoding("gb2312"));//以gb2312編碼讀取文字檔案中的漢字,要不然,讀取的內容中如果有漢字,則顯示為亂碼。
這樣加上編碼開啟才是正確的
如果這樣開啟還是亂碼,可以在外部更改檔案的編碼,一般utf-8的StreamReader都能讀取
比如txt的
1.可以用記事本開啟,另存為時選擇你要的編碼
2.用Notepad++開啟,直接修改
streamwriter寫入中文也要選編碼編碼
- string demo="寫入txt中";
- StreamWriter demo_log = null;
- demo_log = File.CreateText("demo_log.txt");
-
demo_log.WriteLine(demo,System.Text.Encoding.UTF8));
如果已經使用了選了編碼,開啟後仍是亂碼.則把生成的demo_log.txt按照上面的上面提到的把檔案編碼修改成UTF-8就可以正確顯示了. excel同樣適用