openstack的sql connection 需要配置成utf-8才不会中文乱码 sql_connection = mysql://nova:xxx@qa-mysql1:3306/nova?charset='utf-8' 但是如果之前就没有设置utf-8,数据库又不能随便清空,想要更新openstack数据库某个字段,就不能直接采用utf-8的数据库连接,否则会出现插入到数据库中的是中文,但是openstack中显示的是乱码。更坏的是如果插入的是全角中文字符,openstack就会出错。
答案很简单,就是采用和openstack一样的数据库连接方式,openstack使用的是 sqlalchemy 我写一个一个简单的数据库连接如下
#!/usr/bin/python
from sqlalchemy import create_engine engine = create_engine('mysql://nova:password@qa-mysql1:3306/nova',convert_unicode=True)
metadata=MetaData()
u=update(secgroup).where(secgroup.c.id==60).values(name='中文')
query = query % db.literal(args) |
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....