MySQLdb解決中文資料的問題

2021-05-23 13:49:41 字數 637 閱讀 9790

問題如下:

>>> 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的安裝配置上,預設安裝時,系統預設的排序規則時拉丁文的排序規則,在安裝過程中從來...