位置: 编程技术 - 正文
推荐整理分享Python的Flask框架中SQLAlchemy使用时的乱码问题解决(flask框架菜鸟教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python的flask框架干啥的,flask框架下使用scrapy框架,python的flask框架干啥的,Python的flask框架教程,flask 框架,flask 框架,flask 框架,python的flask框架干啥的,内容如对您有帮助,希望把文章链接给更多的朋友!
一、问题
这两天在学习使用flask + SQLAlchemy 定制一个web查询页面的demo ,在测试时,发现查询到的结果显示乱码 。这里将解决方法记录下。
二、解决思路
1、flask 程序上定位
flask的文档中提到可以通过设置SQLALCHEMY_NATIVE_UNICODE来禁止使用SQLAlchemy默认的Unicode编码。有可能是SQLAlchemy默认的Unicode编码不是UTF-8,抱着这样的想法,在程序中指定了“SQLALCHEMY_NATIVE_UNICODE=False”,执行程序,报错。
flask中还提到“use_native_unicode”为目标编码来指定编码方式,尝试将“db = SQLAlchemy(app)”改为“db = SQLAlchemy(app, use_native_unicode="utf8")”。这回虽然没报错,但还是乱码。
2、mysql 上定位
突然想到有可能是建表的时候,没有指定字符集,使用的是数据库默认的字符集的导致的。继续找了一段时间的如何指定建表时使用字符集的方法,未果。
数据库该不会使用的不是UTF-8吧?抱着这个想法,进入数据库,输入“status”,在输出的信息上显示默认是latin-1。搞了半天,原来问题在这。
3、解决问题
即然找到了,问题就在mysql 的my.cnf 上增加相关配置,并重启mysql 服务:
注:需要注意的是,之前已经存在的数据,在上面修改过后,通过mysql select查询时会是乱码,需要重新导入。
PS:Python下SQLAlchemy真的是super好用,不太了解的童鞋可以尝试一下下面这个MySQL的例子:
用Python的Flask框架结合MySQL写一个内存监控程序 这里以监控内存使用率为例,写的一个简单demo性程序,具体操作根据reboot提供的教程写如下。一、建库建表创建falcon数据库:mysqlcreatedatabasefalconcharact
Python实现模拟时钟代码推荐 Python实现模拟时钟代码推荐#coding=utf8importsys,pygame,math,randomfrompygame.localsimport*fromdatetimeimportdatetime,date,timedefprint_text(font,x,y,text,color=(,,)):imgtext=font.re
使用Python对IP进行转换的一些操作技巧小结 PythonSocket模块中包含一些有用IP转换函数,说明如下:socket.ntohl(x)//类似于C语言的ntohl(x)把位正整数从网络序转换成主机字节序。socket.ntohs(x)//类似于C
标签: flask框架菜鸟教程
本文链接地址:https://www.jiuchutong.com/biancheng/378561.html 转载请保留说明!上一篇:举例讲解Linux系统下Python调用系统Shell的方法(简单介绍linux系统有哪些主要特点?)
下一篇:用Python的Flask框架结合MySQL写一个内存监控程序(python中flask模块)
友情链接: 武汉网站建设