如何将原始语言插入mysql?

时间:2018-05-10 13:31:56

标签: python mysql hindi

我想将印地语语句插入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मेà¤,जनरलफà¥,ठ¥àà¸à¤•à¥‰àà°àªªà¥<रेशनकेलिà¤à¤μि लियमओ

0 个答案:

没有答案