用python 把中文存到mysql資料中的時候發現庫中的中文成了亂碼。猜想可是中文編碼的問題。
mysql用提utf-8.而我也把欄位轉成了utf-8了,發現還是不行,測試代碼如下:
#!/usr/bin/env python
#coding=utf-8
import os
import MySQLdb
conn = MySQLdb.connect(host='IP', user='user',passwd='******')
cursor = conn.cursor()
conn.select_db('sample_info');
value = [u"中文測試".decode('utf8')]
print value
cursor.execute("INSERT INTO tttt(tttt) VALUES(%s) ",value)
後來在網上查了資料,發現問題是出在connect()這個函數,發現在charset要設定為utf8
即:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
import MySQLdb
conn = MySQLdb.connect(host='IP', user='user',passwd='******',charset='utf8')
cursor = conn.cursor()
conn.select_db('sample_info');
value = [u"中文測試"]
print value
cursor.execute("INSERT INTO tttt(tttt) VALUES(%s) ",value)
可以查閱這篇文檔http://www.mikusa.com/python-mysql-docs/docs/MySQLdb.connections.html
【mysql python 的學習文檔 http://www.mikusa.com/python-mysql-docs/index.html】