什么导致SQLAlchemy访问数据库出现警告

from sqlalchemy import create_engine
from consts import DB_URI

eng = create_engine(DB_URI)
with eng.connect() as con:
    con.execute('drop table if exists users')
    con.execute('create table users(Id INT PRIMARY KEY AUTO_INCREMENT, '
                'Name VARCHAR(25))')
    con.execute("insert into users(name) values('xiaoming')")
    con.execute("insert into users(name) values('wanglang')")
    rs = con.execute('select * from users')
    for row in rs:
        print row

consts.py的代码为(用python驱动可以正常连接数据库并操作):

HOSTNAME = 'localhost'
DATABASE = 'john'
USERNAME = 'root'
PASSWORD = '123'
DB_URI = 'mysql://{}:{}@{}/{}'.format(USERNAME, PASSWORD, HOSTNAME, DATABASE)

出现如下警告:
Python27\lib\site-packages\sqlalchemy\engine\default.py:469: Warning: Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 479
cursor.execute(statement, parameters)
(1L, 'xiaoming')
(2L, 'wanglang')

Process finished with exit code 0

数据库为mysql5.7版本
不明白为什么会出现警告,求大神解答!!

4个回答

编码不一致导致的问题,Flask 或者是Django 默认都是UTF-8的,有可能你的数据库服务器的编码格式不一致导致的,
查看服务器的/etc/my.cnf 文件
修改:
1. 修改 /etc/my.cnf 配置文件,然后重启mysqld。

在[client]下配置:default-character-set=utf8
在[mysqld]下配置:
default-character-set=utf8
init_connect=’SET NAMES utf8′

字符串编码等问题。你输入的数据编码格式

如果修改了以后还不能解决的话,对不起,你可能需要重新创建数据库,不然永远都会存在编码冲突的问题,解决这个办法就是一般在创建数据库我们
选择编码都是UTF-8

JOHNEW
pycircus 修改数据库侯仍然出现警告,又重新建立了一次警告仍旧存在,怎么破?
3 年多之前 回复

图片说明
修改数据库侯仍然出现警告,又重新建立了一次警告仍旧存在,怎么破?

JOHNEW
pycircus 回复邓全杰: 改为使用liunx了,问题解决了谢谢
3 年多之前 回复
u010136832
小邓在路上 你是装在WINDOWS上的,我以为是LINUX上,拿给你个链接好了:https://zhidao.baidu.com/question/586802759.html
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐