python导出mysql csv 乱码_Python MySQL CSV导出到json奇怪编码

你可能有两个问题。但是让我们退一步。。。我们无法判断文本是导入错误,导出错误,还是仅仅以愚蠢的方式显示。在

首先,我要讨论“进口”。。。在

不要试图改变编码。而是使用实时编码。但首先,弄清楚编码是什么。可能是拉丁语或者utf8。(或许多不太可能的字符集。)

找出传入文件的十六进制数。在Python中,为字符串u转储十六进制(etc)的代码如下:for i, c in enumerate(u):

print i, '%04x' % ord(c), unicodedata.category(c),

print unicodedata.name(c)

您可以转到here查看所有拉丁1字符的十六进制值列表,以及utf8十六进制值。例如,ó是拉丁1F3或utf8C2B3。在

现在,知道了编码,告诉MySQL。在

^{pr2}$

同时,定义什么CHARACTER SET ...表或列并不重要;如果需要,mysql将进行代码转换。所有西班牙语字符都有拉丁文1和utf8。在

我建议你有两个错误,一个是这里提到的“黑钻石”案件;另一个是另外一个错误。但是。。。遵循上面提到的“最佳实践”。在

回到你的问题“出口”。。。在

同样,您需要检查输出文件的十六进制。同样,它是拉丁语1还是utf8并不重要。然而。。。如果十六进制是C383C2B3表示简单的ó,则表示“双重编码”。如果有,检查一下是否删除了任何手动转换函数调用,并简单地告诉MySQL什么是什么。在

如果您需要更多帮助,请按照文本逐步操作。向我们展示在每一步中用于移动/转换它的代码,并在每一步显示十六进制。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值