今天經過了反覆的驗證終於發現MySQLdb是根據charset參數進行解碼(decode),init_command參數進行編碼(encode)
在linux終端輸出還和linux終端指定的編碼有關
MySQLdb.connect(host=ip,port=3306,user="username",passwd="pwd",db="dbname",init_command='init_command',charset='charset')
init_command:'set names %s' 由終端的編碼和linux系統的編碼決定 且終端和系統的編碼必須保持一致
比如終端用的utf-8 則系統必須也是utf8才能保證 輸出不是亂碼 系統編碼查看echo $LANG 修改系統編碼 export LANG=code
charset的值必須是編碼集大於等於數據庫編碼的編碼類型
[url=http://s.click.taobao.com/a/qXMUIKxEugc=-13523021]臺灣工控設備[/url]