2013-07-27 72 views
0

我在python中使用下面的代碼,它似乎是返回「名稱」作爲問號,因爲名稱是俄語。任何幫助將非常感激。Python Mysqldb返回問號

import MySQLdb 
db = MySQLdb.connect(host="localhost", user="root",passwd="*****") 
cur = db.cursor() 
cur.execute("USE WebCorpusStatus;") 
cur.execute("SELECT Name, Source, Date(dateScraped) FROM russian WHERE status = 1;") 
for row in cur:  
    print row 

回答

1

MySQLdb.connect需要一個use_unicode參數,這可能會解決問題。如果沒有,你可能還需要字符集設置爲任何你的表使用:

MySQLdb.connect(host="localhost", user="root",passwd="*****", use_unicode=True, charset='xxxxx') 

http://mysql-python.sourceforge.net/MySQLdb.html

+0

我試過,但它仍然無法正常工作。我想用俄語的charset ='koi8r',但它給了我以下錯誤:LookupError:未知編碼:koi8r – gkumar7

+0

@ compsci101:嘗試'koi8_r'。 – unutbu

+0

unutbu - 錯誤:_mysql_exceptions.OperationalError:(2019,「無法初始化字符集koi8_r(路徑:/ usr/share/mysql/charsets /)」) – gkumar7