System.IO.StreamWrite и испанские символы - PullRequest
0 голосов
/ 10 марта 2009

Мне нужно написать следующую строку в текстовый файл:

SEGS, AUS1,1,0,0,712205,584,8659094,2, NUÑEZ FELIX ARTURO, 584

Я когда использую:

using  (System.IO.StreamWriter sw = new System.IO.StreamWriter(@fileSobrantes, true)) {
       sw.WriteLine("SEGS,AUS1,1,0,0,712205,584,8659094,2,NUÑEZ   FELIX ARTURO,584");
}

Я получаю это в файле

SEGS, AUS1,1,0,0,712205,584,8659094,2, NUÑEZ FELIX ARTURO, 584

Я пытаюсь с параметрами кодирования в ASCII, UNICODE и ALL UTF и не работает.

System.IO.StreamWriter(@fileSobrantes, true,Encoding.UTF32 ))

1 Ответ

1 голос
/ 10 марта 2009

Вы не можете легко (и точно) представлять то, что вы получаете в файле, не давая шестнадцатеричный дамп. Что вы пытаетесь использовать, чтобы прочитать файл? Я предполагаю, что если вы попробуете Encoding.Default, это сработает для вас, но трудно сказать наверняка, не зная, что вы пытаетесь использовать, чтобы прочитать его.

Другая альтернатива - неверная строка source . Если вы действительно используете его как строковый литерал в своем исходном коде, вы уверены, что у вас есть Visual Studio, настроенная для его правильной интерпретации?

См. Мою страницу отладки юникода для предлагаемых методов.

РЕДАКТИРОВАТЬ: Кстати, почему вы префикс fileSobrantes с @? Для идентификаторов вам нужно сделать это только если они являются ключевыми словами. Вы можете быть запутаны с дословными строковыми литералами - но это не строковый литерал, это имя переменной.

...