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-8

from 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

回到顶部