首页 > 解决方案 > 如何将印地语插入mysql?

问题描述

我想将印地语句子插入 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 for mysql 中运行,并且可以正确显示印地语。但是当我运行这段代码时,句子也可以插入到mysql数据库中,但不能正确显示。例如“सà¤,तरे के जायके वाले à¤®à ¥,ल टà¥^à¤,ग को 1957 मेà¤, जनरल फà¥,ठ¡à¥à¤¸ कॉरपोरेशन के लिठवत लियम à¤"

标签: pythonmysqlhindi

解决方案


推荐阅读