使用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')即可解决中文问题。