2012-05-22 4 views
0

хорошо я использую все эти коды:system.io.streamwriter на .net Compact Framework акцентами

// StreamWriter file = new StreamWriter(AppSettings.Instance.Dpath + "\\notaventa.txt"); 

// StreamWriter file = new StreamWriter(AppSettings.Instance.Dpath + "\\notaventa.txt", false, System.Text.Encoding.GetEncoding(1252)); 
' Dim objEscritor = New StreamWriter("C:\temp\salida_encoding.txt", True, System.Text.Encoding.Default) 
// StreamWriter file = new StreamWriter(AppSettings.Instance.Dpath + "\\notaventa.txt", true, System.Text.Encoding.ASCII); 

но ни одна работа для печати

canción

все печати

canci? N

как я могу это исправить? Я использую

Compact Framework 3.5

для рук helds

ответ

1

ASCII не содержит опоры для символа ó. Если у вас нет веских причин, в противном случае, вы всегда должны использовать Unicode:

System.IO.StreamWriter file = new System.IO.StreamWriter(
    Path.Combine(AppSettings.Instance.Dpath, "notaventa.txt"), true, 
    System.Text.Encoding.UTF8); 

Unrelated на ваш вопрос: Вы должны использовать Path.Combine (а не явного объединения строк) для построения пути к файлам. Это избавило бы вас от головной боли при определении того, включать ли ведущий/конечный \ или нет.

+0

System.Text.Ecoding.UTF8 не работает, помните, что я suing compact framework 3.5 –

+0

'UTF8' _is_, поддерживаемый .NET Compact Framework; установите флажок [Свойства кодирования] (http://msdn.microsoft.com/en-us/library/dxsf38kx%28v=vs.90%29). – Douglas

+0

ok Я еще раз проверю, это правда, возможно, для этого он не работает очень хорошо –

2

Вы можете исправить это не указания . UTF-8, как правило, хорошая ставка, хотя, конечно, это зависит от того, что будет файла. В принципе ASCII не имеет любых акцентированных символов; он останавливается на U + 007E.

Я бы ожидал, что Encoding.GetEncoding(1252) будет работать, поскольку Windows 1252 содержит символ «-». То же самое по умолчанию, когда вы не укажете кодировку, поскольку это будет использовать UTF-8. Вы уверены, что ваша строка содержит правильные данные для начала? Что вы используете для , читаете файл тоже?