 |
 |
 |
 |
|
|
分類目錄 |
本站日誌 (51)
碎碎唸啦 (173)
網站架設 (84)
程式設計 (161)
軟體使用 (69)
電子商務 (126)
經營奇想 (48)
基金理財 (11)
聰明消費 (87)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)
|
|
歷史資料 |
|
|
|
 |
 |
 |
 |
|
 |
 |
 |
 |
July 10, 2004 |
 |
 |
|
.Net Framework 讀取檔案變亂碼的處理方式
今天因為做長榮的案子,壓根沒想到 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
|
|
|
|
由 Neo 發表於 July 10, 2004 05:29 PM
|
|
|
|
|
 |
 |
 |
 |
Copyright 2005 Neo's Blog All rights reserved.
|