Encoding 制定文件编码:我知道字符串,知道字符,编码是什么?

Encoding 制定文件编码:我知道字符串,知道字符,编码是什么?,encoding,character-encoding,Encoding,Character Encoding,我正在将csv文件中的数据添加到数据库中。如果我打开CSV文件,一些条目包含项目符号-我可以看到它们文件表示其编码为ISO-8859 $ file data_clean.csv data_clean.csv: ISO-8859 English text, with very long lines, with CRLF, LF line terminators 我如下所示阅读它,并将其从ISO-8859-1转换为UTF-8,这是我的数据库所需要的 row = [unicode(x.de

我正在将csv文件中的数据添加到数据库中。如果我打开CSV文件,一些条目包含项目符号-我可以看到它们<代码>文件表示其编码为ISO-8859

$ file data_clean.csv 
data_clean.csv: ISO-8859 English text, with very long lines, with CRLF, LF line terminators
我如下所示阅读它,并将其从ISO-8859-1转换为UTF-8,这是我的数据库所需要的

    row = [unicode(x.decode("ISO-8859-1").strip()) for x in row]
    print row[4]    
    description = row[4].encode("UTF-8")
    print description
这给了我以下信息:

'\xa5 Research and insight \n\xa5 Media and communications'
¥ Research and insight 
¥ Media and communications 
为什么\xa5项目符号字符转换为日元符号

我假设是因为我读错了编码,但在这种情况下,什么是正确的编码?它也不是cp1252

更一般地说,是否有一个工具可以指定(i)字符串(ii)已知字符,并找出编码方式?

您可以试试

 iconv -f latin1 -t utf8 data_clean.csv 
如果你知道它确实是iso-latin-1

虽然在iso-latin-1中,xA5实际上是一个¥

编辑:实际上这在Mac上似乎是个问题,使用Word或类似的和Arial(?)并打印或转换为PDF。关于字体的一些问题。也许您需要先显式地处理文件。听起来熟悉吗


我不知道任何通用工具,但是(链接自)显示
A5
是代码页中的一个要点

更一般地说,是否有一个工具 您可以指定(i)字符串(ii)已知 字符,并找出编码

您可以轻松地用Python编写一个。 (示例使用3.x语法。)

如果你知道你的要点是U+2022,那么

>>> possible_encodings(b'\xA5', '\u2022')
{'mac_iceland', 'mac_roman', 'mac_turkish', 'mac_latin2', 'mac_cyrillic'}
>>> possible_encodings(b'\xA5', '\u2022')
{'mac_iceland', 'mac_roman', 'mac_turkish', 'mac_latin2', 'mac_cyrillic'}