【问题标题】:Write localized string to localized file将本地化字符串写入本地化文件
【发布时间】:2012-10-22 13:48:31
【问题描述】:

我有以下代码:

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

在 .NET 4 中从 Windows 窗体调用,其中 tiempocommentario 是您获取字符串的两个文本框。我遇到的问题是,如果我写一个带有撇号的本地化短语,它们在文本文件中显示为“ó”“é”或“Ã-”,而不是“ó”“é”和“í”。

知道如何设置函数以正确编写本地化短语吗?

【问题讨论】:

    标签: .net vb.net string file-io localization


    【解决方案1】:

    您可以创建一个新的StreamWriter 并指定您喜欢的任何编码,而不是使用File.AppendText。例如 1252 表示拉丁语(西欧语言)。第二个参数指定文本应该附加到文件中。

    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(无需显式调用)

    【讨论】:

    • 谢谢,将代码更改为Using w As StreamWriter = New StreamWriter(fichero.Text, True, Encoding.Unicode) 并正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多