0

将 unicode 存储到数据库时遇到问题。供你参考你=你..

>> a='你'
>>a <\br>
'\xc4\xe3'

问题是

 # -*- coding: utf-8 -*-
 import MySQLdb
 db = MySQLdb.Connect(host="127.0.0.1", port=3306, user="root", passwd="root",db="mydata", charset="utf8", use_unicode=True)

 cursor = db.cursor()

  insert = "insert into testing (english,chinese,frequency) values(%s,%s,1) on duplicate KEY UPDATE frequency=frequency+1;"
  a='你'
 data=('you',a)
 try:
    cursor.execute(insert,data) 
 except:
    print "error"

 db.commit()

这给我一个错误,但是当我改变这个

data=('you','你')

有用....

谁能帮我??我需要使用“data =('you',a)”,因为稍后我将导入中文字符文件

4

1 回答 1

2

尝试告诉 python 将字符串视为 unicode,如下所示:a= u'你'

如果您不使用交互式提示,则可以通过该unicode功能完成此操作。加载数据的一种方法的示例是:

fname = 'somefile.txt'
with open(fname,'r') as f
    unicode_data = unicode(f.read())

如果这不起作用,您应该能够在 python 文档中详细说明更多细节:http: //docs.python.org/2/howto/unicode.html并且您可能会发现这个 SO 答案很有帮助:Character reading from Python中的文件

于 2013-02-21T18:49:11.357 回答