2012-10-22 86 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