2012-10-22 182 views
0

我有下面這段代碼:寫本地化字符串本地化的文件

Dim fecha As DateTime = DateTime.Now 
Using w As StreamWriter = File.AppendText(fichero.Text) 
    w.WriteLine(fecha.ToString("dd/MM/yyyy") + vbTab + tiempo.Text + vbTab + comentario.Text) 
    w.Close() 
End Using 

這是從Windows窗體.NET 4的調用,其中蒂恩波comentario有兩個文本框,你去字符串。我遇到的問題是,如果我用撇號編寫本地化的短語,它們在文本文件中顯示爲「Ã」,「Ã」或「Ã」,而不是「ó」,「é」和「í」。

任何想法如何設置函數來正確寫入本地化的短語?

回答

1

而不是使用File.AppendText您可以創建一個新的StreamWriter並指定您喜歡的任何編碼。例如拉丁語(西歐語言)1252。 2'nd參數指定文本應附加到文件。

Using writer = New StreamWriter(fichero.Text, True, Encoding.GetEncoding(1252)) 
    writer.WriteLine(fecha.ToString("dd/MM/yyyy") + vbTab + tiempo.Text + vbTab + comentario.Text) 
End Using 

而且處置筆者將調用Close(無需顯式調用)

+0

謝謝,改變了代碼爲'利用了W作爲的StreamWriter =新的StreamWriter(fichero.Text,真實,Encoding.Unicode) '而且沒有問題地工作。 – Peter