面对着字符编码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)
时间: 2024-10-11 13:29:16