我想将印地语语句插入mysql数据库。 但是我遇到了一个问题:插入mysql数据库的印地语语句变得乱码。 我已将编码格式设置为UTF-8,然后我的代码如下。 非常感谢!
#coding = utf-8
import MySQLdb
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
dbs = MySQLdb.connect(host='x.x.x.x', user='x', passwd = 'x', db='x',port=x)
cursor = dbs.cursor()
with open('hindi.wiki.set','r') as file:
count = 1
for line in file.readlines():
if count == 5:
break
sql = """insert into `lab_ime_test_set_2` (id_, type_, lang_, text_, anno_) values(%s, %s, %s,'%s', %s)""" % ("null", "'wiki'", "'hindi'", MySQLdb.escape_string(line.strip()), "'not_anno'")
try:
cursor.execute(sql)
dbs.commit()
except Exception as eh:
print("error")
print("total count", count)
cursor.close()
dbs.close()
因为sql可以在navicat中运行mysql,并且可以正确显示hindi语言。 但是当我运行这段代码时,句子也可以插入到mysql数据库中,但无法正确显示。 例如“àà¸à¤,तरेकेजायकेà¤μà¤¾à¤²à¥‡à¤®à ¥,लटà¥à¤,à¤-कà¥<1957मेà¤,जनरलफà¥,ठ¥àà¸à¤•à¥‰àà°àªªà¥<रेशनकेलिà¤à¤μि लियमओ