0

ユニコードをデータベースに保存するのに問題があります。参考までに 你 = あなた..

>> 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

次のように、文字列を Unicode として扱うように python に指示してみてください。a= u'你'

対話型プロンプトを使用していない場合は、unicode関数を使用してこれを実行できます。データをロードする 1 つの方法の例は次のとおりです。

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 に答える