【转载】C#中StreamReader读取中文文本出现乱码的解决方法
生活随笔
收集整理的這篇文章主要介紹了
【转载】C#中StreamReader读取中文文本出现乱码的解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先O(∩_∩)O謝謝一品梅分享了自己的經驗,這是他的blog原文地址
http://www.cnblogs.com/onlyendure/archive/2008/03/25/1121247.html
在編寫文本文件讀寫程序的過程中,有如下代碼
結果發現打開中文文本文件出現亂碼。
究其原因,原來自從Windows 2000之后的操作系統在文件處理時默認編碼采用Unicode,所以.Net 的文件默認編碼也是Unicode。除非另外指定,StreamReader 的默認編碼為 Unicode,而不是當前系統的 ANSI 代碼頁。但是文檔大部分還是以ANSI編碼儲存,中文文本使用的是gb2312,所以才造成中文亂碼的狀況,也就是說在讀取文本的時候要指定編碼格式。
但是問題來了,System.Text.Encoding 里面一堆編碼格式ASCII、UTF-8等等,要選哪一個好?
其實很簡單,用
System.Text.Encoding.Default 告訴
StreamReader 目前操作系統的編碼即可。
StreamReader reader = new StreamReader(FileName, System.Text.Encoding.Default)
轉載于:https://www.cnblogs.com/ZJoy/archive/2010/12/17/1909598.html
總結
以上是生活随笔為你收集整理的【转载】C#中StreamReader读取中文文本出现乱码的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 类访问控制(public/pro
- 下一篇: [C#1] 10-事件