我有一个程序,简而言之,它从SQL数据库中读取值,然后将它们写入以制表符分隔的文本文件。
问题是,数据库中的某些值在写入文本文件时具有特殊字符(TM、破折号、省略号等),格式会丢失,它们会被视为“垃圾”等
在立即窗口中查看值时,在将其写入txt文件之前,一切看起来都正常。我猜这是一个编码问题。但是,我真的不知道该怎么做,去哪里找,或者找什么。
下面是如何构建文本文件(feedStr是一个StringBuilder)
objReader = New StreamWriter(filePath) objReader.Write(feedStr) objReader.Close()
StreamWriter的默认编码是UTF8(没有字节顺序标记)。你的结果文件是好的,问题是你打开它后在什么?如果在支持UTF8的文本编辑器中打开它,字符的外观应该是您想要的。
objReader = New StreamWriter(filePath, false, Encoding.GetEncoding("iso-8859-1"))