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