这是我的代码,它连接到数据库,并将俄语单词插入数据库:
import mysql.connector
if __name__ == '__main__':
try:
cnx = mysql.connector.connect(user='user', password='password',
host='123.123.123.123',
database='db_name',
charset='utf8',
collation='utf8_general_ci',
use_unicode=True)
except BaseException as ex:
print('Error: ' + str(ex))
cnx.close()
else:
print('Connections succesful!')
cnx.set_charset_collation('utf8', 'utf8_general_ci')
cursor = cnx.cursor()
print(cnx.charset)
cursor.execute("INSERT INTO table_name (column_name) values ('привет!')") #means 'Hello!' in russian
cursor.execute("SELECT * FROM test_referers")
print(cursor.fetchall())下面是我得到的结果:
Connection succesful!
utf8
(1, u'\u043f\u0440\u0438\u0432\u0435\u0442!')这样的输出出现在Python解释器控制台和Eclipse PyDev中。
热心的帮助
发布于 2012-12-06 00:22:03
您的输出是有效的Unicode。Python使用Unicode转义值(\uxxxx)将其返回给您,因为行由具有两个项的元组组成;当打印元组时,它的内容被表示为python文字。
如果您使用以下代码:
print(cursor.fetchall()[1])相反,它将打印:
привет!您可以通过在python提示符下打印文字值来测试这一点:
>>> print u'\u043f\u0440\u0438\u0432\u0435\u0442!'
привет!https://stackoverflow.com/questions/13727595
复制相似问题