Encoding 在记事本中正确呈现的奇怪字符,但在其他地方作为控制字符

Encoding 在记事本中正确呈现的奇怪字符,但在其他地方作为控制字符,encoding,Encoding,我有一个.csv的企业列表。文件中有一些奇怪的字符。例如,在此字段中:Stocktonon-Tees,在Stockton和on之间的第一个连字符似乎是一个值为6的字符,而不是一个值为45的连字符。堆栈溢出可能会对此进行隔离,因此您无法看到它,因此这里有一个粘贴箱: http://pastebin.com/NuyyaQy9 有人能解释为什么会这样吗?是不是我遗漏了一些编码问题?还是数据集中的损坏?是的,几乎可以肯定这是一个编码问题。文件只是由二进制数据组成——重要的是如何解释二进制数据。听起来记

我有一个.csv的企业列表。文件中有一些奇怪的字符。例如,在此字段中:
Stocktonon-Tees
,在
Stockton
on
之间的第一个连字符似乎是一个值为
6
的字符,而不是一个值为
45
的连字符。堆栈溢出可能会对此进行隔离,因此您无法看到它,因此这里有一个粘贴箱:

http://pastebin.com/NuyyaQy9

有人能解释为什么会这样吗?是不是我遗漏了一些编码问题?还是数据集中的损坏?

是的,几乎可以肯定这是一个编码问题。文件只是由二进制数据组成——重要的是如何解释二进制数据。听起来记事本好像在猜测最初的编码,但你使用的其他任何东西都不是

不幸的是,您没有提到什么软件试图读取文件,或者是什么编写了文件,但是您应该看看编码记事本认为它是什么,然后从那里开始工作


如果是您的代码写出了文件,您可以决定编码方式,我推荐UTF-8作为一种通用的、平台可移植的编码方式。

它只是我在某个地方找到的一个数据库。我在pastebin的firefox中尝试了各种不同的编码,但它们的渲染效果都很差,所以我认为这种编码一定很模糊。@Oliver:很可能不是——如果记事本没有弄错,很可能是Windows-1252。