python Flask post 数据 输出中文
#!/usr/bin/env python# -*- coding: utf-8 -*-
from flask import Flask
from flask import request
from flask import Response
app = Flask(__name__)
@app.route('/rtxim', methods=['POST'])
def rtxim_post():
print str(request.get_data())
return '%s' % (request.get_data() or 'null')
if __name__ == '__main__':
app.run('0.0.0.0',port=4492)
request.get_data()
取到的值中文 被转码了,怎么转为原数据呢
例如 前台提交的中文 是 '往往', get_data()
输出的却是 %E5%BE%80%E5%BE%80
; 如下
在控制台打印输出的中文是 %E5%BE%80%E5%BE%80
如何转为 正常的中文呢
回答:
# coding=utf-8from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/rtxim/', methods=['POST'])
def rtxim_post():
print request.form.get('name')
return '%s' % request.form.get('name')
if __name__ == '__main__':
app.run('127.0.0.1',port=4492)
回答:
@prolifes的回答看起来没问题,为什么要-1?
下面顺便说下如何把%E5%BE%80%E5%BE%80转成正常的中文
In [7]: s = '%E5%BE%80%E5%BE%80'In [8]: from urlparse import unquote
In [9]: unquote(s)
Out[9]: '\xe5\xbe\x80\xe5\xbe\x80'
In [10]: unquote(s).decode('utf8')
Out[10]: u'\u5f80\u5f80'
In [11]: print unquote(s).decode('utf8')
往往
以上是 python Flask post 数据 输出中文 的全部内容, 来源链接: utcz.com/a/165159.html