pythondjangoweb开发基于jmeter的压测平台_jmeter测试Django web接口过程中中文编码错误...

1.Django中利用JsonResponse类将字典转换成json字符串信息,但是jmeter中显示unicode编码,如下图:

2e783f18931b4d9773404b2297b9b120.png

源代码如下

return JsonResponse({'status':200,'message':'success','data':event})

解决办法;

JsonResponse里面有个参数json_dumps_params,设置为json_dumps_params={'ensure_ascii':False}即可

class JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs)

data: 应该传递一个标准的 python 字典给它,它将其转换成 json 格式的数据。

encoder:默认为 django.core.serializers.json.DjangoJSONEncoder,用于序列化data。关于这个序列化的更多信息参见JSON 序列化。

safe : 默认为True。如果设置为False,可以传递任何对象进行序列化(否则,只允许dict 实例)。如果safe 为True,而第一个参数传递的不是dict 对象,将抛出一个TypeError。

另外:它的默认 Content-Type 头部设置为application/json。

json_dumps_params:在1.9版本中新增,可以传递一个python标准的 json 库中,json.dump() 方法处理后的对象给它,用于生成一个响应。

修改代码后:

return JsonResponse({'status':200,'message':'success','data':event},safe=False,json_dumps_params={'ensure_ascii':False})

2.利用jmeter继续测试后还是出现乱码

f69225466c73da67c5aa2a70019f2192.png

这里需要将jmeter根目录下的jmeter.properties文件修改

找到sampleresult.default.encoding=ISO-8859-1这行,去掉#注释

修改成

sampleresult.default.encoding=utf-8

然后重启jmeter后即可显示中文

参考网站来源:https://www.cnblogs.com/yoyoketang/p/10339210.htm

https://blog.csdn.net/hh775313602/article/details/54924320/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值