2015-02-12 41 views
0

我试图做一个脚本来显示我的数据库,是8列,都与utf8_unicode_ci求婚。Python中的UnicodeEncodeError与.pychall()的pymysql()

这是脚本:

import sys 

import pymysql 
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='rfid') 

cur = conn.cursor() 

cur.execute("SELECT * FROM cnf1") 

for r in cur.fetchall(): 
    print(r) 

cur.close() 
conn.close() 

但运行脚本时,控制台抛出我下面的错误:

(1, 'camilo', 'camilo', 'camilo', 'camilo', 'camilo', 'camilo', 'camilo') 
(2, 'Juan', 'Perez', 'Sanchez', '112223330', 'Las Almendras 111', '[email protected]', '12AAA') 
(3, 'a', 'a', 'a', 'a', 'a', 'a', 'a') 
(4, 'camilo1', 'camilo1', 'camilo1', 'camilo1', 'camilo1', 'camilo1', 'camilo1') 
Traceback (most recent call last): 
    File "/Users/camilonunezfernandez/Desktop/prueba2.py", line 11, in <module> 
(5, 'camilo1', 'camilo1', 'camilo1', 'camilo1', 'camilo1', 'camilo1', 'camilo1') 
(6, 'camilo1', 'camilo1', 'camilo1', 'camilo1', 'camilo1', 'camilo1', 'camilo1') 
    print(r) 
UnicodeEncodeError: 'ascii' codec can't encode character '\xf1' in position 5: ordinal not in range(128) 
[Finished in 0.4s with exit code 1] 
[cmd: ['python3', '-u', '/Users/camilonunezfernandez/Desktop/prueba2.py']] 
[dir: /Users/camilonunezfernandez/Desktop] 
[path: /usr/bin:/bin:/usr/sbin:/sbin] 

我正在使用Python版本3.4,它运行“ pymysql'库连接到我的MySQL数据库。

他们知道这个错误可能会发生? 非常感谢!

回答

0

试图通过字符集参数

conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='rfid', charset='utf8')