使用VB.NET產生ANSI的文字檔

摘要:使用VB.NET產生ANSI的文字檔

話說小喵最近在撰寫程式碼產生器,使用VB.NET撰寫介面,讓使用者輸入基本的參數後,就產生一些基本的程式碼。

在過程中小喵發現,產生的程式碼使用【記事本】看起來內容都是正常的,可是從VS2005開啟相關檔案後卻發現,所有中文的部分都變成了亂碼!!

於是小喵開始尋找原因,最後發現原來產生的文字檔都是用UTF-8的格式。小喵試著用記事本把檔案另存成ANSI格式後使用VS2005開啟,中文字的部分終於正常了。

 


 

故事講完了回到正提,小喵使用StreamWriter的方式產生文字檔,程式如下:

Using sw As New StreamWriter("D:\TEMP\Test.vb")
    sw.WriteLine("'這是測試文字輸出")
    sw.close()
End Using
 

 

這樣的方式在沒有指定輸出格式的狀況下,預設是UTF-8。要改成ANSI(Big5)就需要改成

Using sw As New StreamWriter("D:\TEMP\Test.vb", False, System.Text.Encoding.GetEncoding(950))
    sw.WriteLine("'這是測試文字輸出")
    sw.close()
End Using
 

 

其中,950是代表您要用Big5編碼的方式進行,如果要輸出別的編碼方式,可以輸入不同的代號。

 


以下是簽名:


Microsoft MVP
Visual Studio and Development Technologies
(2005~2019/6)