使用mysql连接器python在python中编码问题

时间:2016-12-22 12:22:50

标签: python pymysql mysql-connector-python

我编写了一个python脚本,从数据库中获取数据并对其进行处理。 最初我使用pymysql连接数据库,我更改为MySQL Connector for python。当我开始使用MySQL Connector时,我遇到了以下问题

'ascii'编解码器无法对位置14-16中的字符进行编码:序数不在范围内(128)

我尝试添加MySQL Connector的charset设置,但问题仍然存在。

有人对这个问题有所了解吗?

1 个答案:

答案 0 :(得分:2)

  1. 确保您在表格中指定了ascii编码
  2. 示例:

    CREATE TABLE t1(
         col1 char, 
         ....,
         ....,
         ....
    )Engine=InnoDB charset=ascii;
    
    1. 在MySQL-Python连接器中指定assci编码并启用unicode
    2. db = MySQLdb.connect( host="localhost", port=3306, user="john", passwd="megajonhy", db="jonhydb", use_unicode=True, charset='ascii' )

      我认为默认情况下use_unicode设置为False,因此通过设置True您将解决问题。