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

これは、.NET 4のWindowsフォームから呼び出されます。ここで、tiempocomentarioは、文字列を取得する2つのTextBoxです。私が抱えている問題は、アポストロフィを使用してローカライズされたフレーズを作成すると、テキストファイルで「ó」「é」や「í」ではなく「ó」「é」または「Ã-」として表示されることです。

ローカライズされたフレーズを正しく書き込むように関数を設定するにはどうすればよいですか?

4

1 に答える 1

1

を使用する代わりにFile.AppendText、新しいものを作成して、StreamWriter好きなエンコーディングを指定できます。たとえば、ラテン語(西ヨーロッパ言語)の場合は1252です。2番目のパラメーターは、テキストをファイルに追加する必要があることを指定します。

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(明示的に呼び出す必要はありません)

于 2012-10-22T14:46:48.620 に答える