問題如下:
>>> a = u'哈哈'
>>> sql = "update task set runpeople = '%s'"%a
>>> cursor.execute(sql)
traceback (most recent call last):
file "", line 1, in
file "build/bdist.linux-x86_64/egg/mysqldb/cursors.py", line 157, in execute
unicodeencodeerror: 'latin-1' codec can't encode characters in position 29-30: ordinal not in range(256)
查了下,原來mysql的預設的字符集是latin-1
二我設定的mysql db的字符集是utf-8
所以只要在連線資料庫的時候指定是utf-8連線就行
>>> conn = mysqldb.connect(host = "10.1.166.132",user = "root",passwd = "nothing",db = "tm",charset = "utf8")
注意是"utf8",不是"utf-8"
解決。
MySQLdb訪問mysql的中文字元問題解決之道
經測試,我們的開發環境解決中文字元問題的解決辦法是同一到utf 8編碼 一 py原始檔採用utf8編碼,在檔案開始新增 coding utf 8 二 在使用mysqldb建立和mysql資料庫的連線並建立cursor物件時採用如下函式def getconnection self try host s...
MySQLdb訪問mysql的中文字元問題解決之道
經測試,我們的開發環境解決中文字元問題的解決辦法是同一到utf 8編碼 一 py原始檔採用utf8編碼,在檔案開始新增 coding utf 8 二 在使用mysqldb建立和mysql資料庫的連線並建立cursor物件時採用如下函式def getconnection self try host s...
解決mssql for linux 中文亂碼問題
什麼叫一波未平一波又起,這就是,好不容易安裝完成了,在用的時候居然出現了亂碼,很是頭疼,但還是解決了這個蛋疼的問題,在windows中使用mssql這麼久,從來沒出現過中文亂碼的情況,具體原因是出現在sql server的安裝配置上,預設安裝時,系統預設的排序規則時拉丁文的排序規則,在安裝過程中從來...