python3使用pymysql遇到编码是lanti1,如何插入数据?

问题

公司以前的项目是外包写的,数据库配置的时候
编码也没设置,就是lanti1
后来又直接改成了gbk......
使用php读取数据库的时候,数据没有乱码情况
但是python读取就麻烦了,因为编码是lanti1
python链接mysql并读取数据的时候,返回的编码总是乱码
链接数据库的时候也使用了下面的sql语句也不行
set names 'utf8'
set names 'gbk'
set names 'lanti1'

使用(set names 'lanti1')时,爆下面的错误
AttributeError: 'NoneType' object has no attribute 'encoding'

我现在遇到的问题:
    Python读取MySQL数据的时候,会有乱码,根本显示不了中文
    Python写入数据到Mysql的时候,也会是乱码

请问如何解决这两个问题?

CODE

使用下面的方法链接Mysql也是一样的乱码
pymysql.connect(host=host,port=port,user=user,passwd=passwd,db=dbName,charset='lanti1',
                                    cursorclass=pymysql.cursors.DictCursor)

环境信息

系统:Windows 10
语言:Python3.5
数据库:Mysql5.5

备注

在百度搜索过,只有Python2.7.x的解决办法
解决方法地址:
http://www.cnblogs.com/zhoujinyi/archive/2012/11/01/2748313.html

阅读 7.7k
1 个回答

MySQLdb.connect(host='', user='', passwd='', db='', port=3306, charset='utf8')

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进