【www.bbyears.com--python】
使用Python Flask框架+Mysql数据库,数据库ORM采用SQLAlchemy框架,出现中文乱码解决办法见下面的代码片段:
@app.route("/",methods=["GET"])
def index():
games_origin = DimGameName.query.all()
games=[]
for g in games_origin:
game={}
game["value"] = g.value.encode("latin1").decode("gbk")
game["id"] = g.id
game["appid"] = g.appid
games.append(game)
return flask.render_template("index.html", games = games)
主要使用:g.value.encode("latin1").decode("gbk")
针对不同的数据库编码配置,使用不同的编码解码。下面是我的Mysql数据库编码配置(latin1):
使用navicat连接mysql的时候,在连接设置里面使用GBK(GB2312)的时候,查询显示的中文数据正常,
所以使用encode("latin1").decode("gbk")即可解决中文问题。