面對着字符編碼load到 MySQL的問題:多是 gbk/utf-8/或者混合編碼。mysql
爲了保證數據的原始性,雷哥的解決辦法是:經過 Python轉爲16進制,而後經過 MySQL解析解析16進制,很是完美。sql
案例以下:編碼
Python 的編碼case:spa
>>> import binasciiutf-8
### 轉爲16進制ci
>>> print binascii.b2a_hex('wo草')字符編碼
776fe88d89import
### 轉爲漢字select
>>> print binascii.a2b_hex('776fe88d89')im
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)