代码之家  ›  专栏  ›  技术社区  ›  s15199d

修复字符串中的特殊字符

  •  1
  • s15199d  · 技术社区  · 15 年前

    我有一个程序,简而言之,它从SQL数据库中读取值,然后将它们写入以制表符分隔的文本文件。

    问题是,数据库中的某些值在写入文本文件时具有特殊字符(TM、破折号、省略号等),格式会丢失,它们会被视为“垃圾”等

    在立即窗口中查看值时,在将其写入txt文件之前,一切看起来都正常。我猜这是一个编码问题。但是,我真的不知道该怎么做,去哪里找,或者找什么。

    下面是如何构建文本文件(feedStr是一个StringBuilder)

    objReader = New StreamWriter(filePath)
    objReader.Write(feedStr)
    objReader.Close()
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   Mikael Svenson    15 年前

    StreamWriter的默认编码是UTF8(没有字节顺序标记)。你的结果文件是好的,问题是你打开它后在什么?如果在支持UTF8的文本编辑器中打开它,字符的外观应该是您想要的。

    objReader = New StreamWriter(filePath, false, Encoding.GetEncoding("iso-8859-1"))
    
    推荐文章