Я хочу вставить предложения на языке хинди в базу данных 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, и язык хинди может отображаться правильно. Но когда я запускаю этот код, предложения также могут быть вставлены в базу данных mysql, но не могут отображаться правильно. например, «à¤¸à¤‚तठ° à ¥ ‡ ठ• ¥ ‡ जायठ• ¥ ‡ à¤µà¤¾à¤²à ¥ ‡ à¤®à ¥ ‚ल à¤Ÿà ¥ ˆà¤‚ग ठ• ¥‹ 1957 à¤®à ¥ ‡ ठ‚जनठ° ल फ à ¥ ‚ठ¡À ¥ स ठ• ¥ ठ° à¤ªà ¥ ‹à¤ ° à ¥ ‡ शन ठ• ¥ ‡ लिठवि लियम ठ"






используйте Collation utf8-general-ci в mysql