【发布时间】:2017-03-07 06:40:29
【问题描述】:
我收到了一个从 MySQL 数据库导出的 csv 文件(我认为编码是 latin1,因为语言是西班牙语)。不幸的是,编码是错误的,我根本无法处理它。如果我使用文件:
$ file -I file.csv
file.csv: text/plain; charset=unknown-8bit
我尝试在 python 中读取文件并将其转换为 utf-8,例如:
r.decode('latin-1').encode("utf-8")
或使用mysql_latin1_codec:
r.decode('mysql_latin1').encode('UTF-8')
我正在尝试将数据转换为 json 对象。保存文件时出现错误:
'UnicodeEncodeError: 'ascii' codec can't encode characters in position'
您知道如何将其转换为普通的 utf-8 字符吗?或者如何将数据转换为有效的 json?谢谢!!
【问题讨论】:
-
你能提供一个你试图解码的例子吗,因为只有这个错误不容易重现问题并找到可能的解决方案......
-
当然,在 csv 中,字段显示如下:例如DIRECCI��N BARCELONA、v��lida hasta 等
标签: python mysql json csv utf-8