您的位置:首页 > 编程语言 > VB

.net读取文档变乱码得处理方式

2007-10-30 19:57 169 查看
今天因為做長榮的案子,壓根沒想到 Microsoft .Net Framework 讀取檔案竟然會出現亂碼,以前用 VB 都鮮少遇過這種事。



重點還是在於如何解決,因為從 Windows 2000 之後的作業系統在檔案處理採用Unicode ,所以 .Net 的檔案處理也是預設為 Unicode ,但是文字檔大多還是以 ANSI 儲存,而且裡面的編碼還是用 Big5,所以才會造成中文亂碼的狀況,也就是在讀取檔案的時候就要指定編碼的樣式。

本來會造成亂碼的語法如下:

Dim reader As StreamReader =
New StreamReader(FileName)

但是問題來了,System.Text.Encoding 裡面一堆,ASCII、UTF-8 等等的,要選哪個好?

其實很簡單,用 System.Text.Encoding.Default 告訴 StreamReader 目前作業系統的編碼即可。

[VB .Net] 的寫法

Dim reader As StreamReader = _
New StreamReader(FileName, System.Text.Encoding.Default)

[C# .Net] 的寫法

StreamReader reader = _
New StreamReader(FileName, System.Text.Encoding.Default)

結果如下:



System.Text.Encoding 可參考 MSDN:
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemtextencodingclasstopic.asp

 本人没有过多的整理相信大家一看便知,希望能够节约大家宝贵的时间
ps:f9inux
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息