Зафиксируйте специальные символы в строке

У меня есть программа, которая вкратце читает значения из базы данных SQL и пишет им в файл разделенного текста вкладки.

Проблема - то, что некоторые значения в базе данных имеют специальные символы (ТМ, тире, замещающий знак, и т.д.) При записи в текстовый файл форматирование потеряно, и они сталкиваются спама "â „¢ или †“и т.д."

Когда значение просматривается в непосредственном окне, прежде чем оно будет записано в txt файл, все выглядит хорошо. Мое предположение - то, что это - проблема кодирования. Но, я не настоящий уверенный, как продолжить двигаться, где посмотреть, или что искать.

Этот ASCII или UTF-8? Если это - один из тех, как я исправляю его, прежде чем это будет записано в текстовый файл.

Вот то, как я создаю текстовый файл (где feedStr является StringBuilder),

objReader = New StreamWriter(filePath)
objReader.Write(feedStr)
objReader.Close()
1
задан s15199d 3 August 2010 в 19:18
поделиться

1 ответ

Кодировка по умолчанию для StreamWriter - UTF8 (без отметки порядка байтов). Ваш файл результатов в порядке, вопрос в том, в чем вы его потом открываете? Если вы откроете его в текстовом редакторе с поддержкой UTF8, символы должны выглядеть так, как вы хотите.

Вы также можете записать текстовый файл в другой кодировке, например iso-8859-1 (latin1)

objReader = New StreamWriter(filePath, false, Encoding.GetEncoding("iso-8859-1"))
2
ответ дан 2 September 2019 в 22:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: