Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python后期数据编码_Python_Flask_Encoding - Fatal编程技术网

python后期数据编码

python后期数据编码,python,flask,encoding,Python,Flask,Encoding,我有一个flask方法,它将获取post数据并进行查询,代码如下 @app.route('/register/search', methods=['POST']) @cross_origin(origin='*') def register_search(): json_data = request.get_json() param = {} if 'startrow' in request.json: param['startrow'] = reques

我有一个flask方法,它将获取post数据并进行查询,代码如下

@app.route('/register/search', methods=['POST'])
@cross_origin(origin='*')
def register_search():
    json_data = request.get_json()
    param = {}
    if 'startrow' in request.json:
        param['startrow'] = request.json['startrow']
    if 'endrow' in request.json:
        param['endrow'] = request.json['endrow']
    if 'company_name' in request.json:
        param['company_name'] = request.json['company_name']
我使用angular进行请求测试,公司名称为2个汉字,但参数为['company_name'] 获取如下字符串“\xe4\xb8\xad\xe6\x96\x87”,如何获取原始汉字
从param['company_name']

'\xe4\xb8\xad\xe6\x96\x87`看起来像utf8编码的unicode。 尝试将其转换回unicode:

param['company_name'] = request.json['company_name'].decode('utf-8')

我想我找到了一个解决办法:

错误 如果我使用字符串concat进行如下查询,我会遇到问题:

sql = "select * from company where name like " + param['company_name']
cursor.execute(sql)
正确

sql = "select * from company where name like %s"
cursor.execute(sql,("%"+param['company_name']+"%"))
使用准备好的支架,它会起作用的


希望这有帮助

谢谢你的回复,我尝试了这个方法,但得到了以下错误消息:
param['company\u name']=request.json['company\u name'].decode('utf-8')
AttributeError:'str'对象没有属性'decode']
你在使用python2吗?看看这个,它可能会帮助你解决问题: