У меня есть программа, которая вкратце читает значения из базы данных SQL и пишет им в файл разделенного текста вкладки.
Проблема - то, что некоторые значения в базе данных имеют специальные символы (ТМ, тире, замещающий знак, и т.д.) При записи в текстовый файл форматирование потеряно, и они сталкиваются спама "â „¢ или †“и т.д."
Когда значение просматривается в непосредственном окне, прежде чем оно будет записано в txt файл, все выглядит хорошо. Мое предположение - то, что это - проблема кодирования. Но, я не настоящий уверенный, как продолжить двигаться, где посмотреть, или что искать.
Этот ASCII или UTF-8? Если это - один из тех, как я исправляю его, прежде чем это будет записано в текстовый файл.
Вот то, как я создаю текстовый файл (где feedStr является StringBuilder),
objReader = New StreamWriter(filePath)
objReader.Write(feedStr)
objReader.Close()
Кодировка по умолчанию для StreamWriter - UTF8 (без отметки порядка байтов). Ваш файл результатов в порядке, вопрос в том, в чем вы его потом открываете? Если вы откроете его в текстовом редакторе с поддержкой UTF8, символы должны выглядеть так, как вы хотите.
Вы также можете записать текстовый файл в другой кодировке, например iso-8859-1 (latin1)
objReader = New StreamWriter(filePath, false, Encoding.GetEncoding("iso-8859-1"))