Load数据到MySQL,入库部分数据乱码问题

本文介绍了一种通过Python将字符编码转换为16进制,再利用MySQL解析16进制以解决数据编码不一致问题的方法。通过案例演示了编码转换的全过程。


面对着字符编码load到 MySQL的问题:可能是 gbk/utf-8/或者混合编码。

为了保证数据的原始性,雷哥的解决办法是:通过 Python转为16进制,然后通过 MySQL解析解析16进制,非常完美。


案例如下:

Python 的编码case:

>>> import binascii

       ### 转为16进制

>>> print binascii.b2a_hex('wo草')

776fe88d89

       ### 转为汉字

>>> print binascii.a2b_hex('776fe88d89')

wo草

MySQL 的反编码 case

       ### 转为16进制

mysql> select hex('wo草');

+--------------+

| hex('wo草')  |

+--------------+

| 776FE88D89   |

+--------------+

1 row in set (0.00 sec)


       ### 转为汉字

mysql> select unhex('776fe88d89')

    -> ;

+---------------------+

| unhex('776fe88d89') |

+---------------------+

| wo草                |

+---------------------+

1 row in set (0.00 sec)



转载于:https://my.oschina.net/repine/blog/531096

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值