python2.7运行报警告:UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode

一、报错信息

python代码

#coding=utf-8

from flask import Flask, request
import json

app = Flask(__name__)

@app.route('/api/user1', methods=['POST'])
def get_user1():
    user = data['data'][0] == '张三'
    print("用户:",user)	
    return data
	
if __name__ == '__main__':
    app.run(debug=True,port=8999)

请求示例:
在这里插入图片描述

报错信息

UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  user = data['data'][0] == '寮犱笁'
('\xe7\x94\xa8\xe6\x88\xb7\xef\xbc\x9a', False)

二、原因及解决方法

uncode编码警告:在unicode等价比较中,把两个参数同时转换为unicode编码失败。中断并认为他们不相等。

windows下的字符串str默认编码是ascii,而python编码是utf8

解决办法:
在代码中加入如下:
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)

修改后代码:

#coding=utf-8

from flask import Flask, request
import json
import sys
reload(sys)
sys.setdefaultencoding('utf8')

app = Flask(__name__)

@app.route('/api/user1', methods=['POST'])
def get_user1():
    user = data['data'][0] == '张三'
    print("用户:",user)	
    return data
	
if __name__ == '__main__':
    app.run(debug=True,port=8999)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五月天的尾巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值