Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

在上一回使用jmeter的csv配置参数模拟多人登录中遇到的问题:

csv文件中或者请求接口的body中包含中文,在结果返回Response Body的中文显示为“???”,

如下图:

情况一:
Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法
情况二:
Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

通过百度尝试了以下几种解决乱码的方法:

第一种方法,修改配置文件jmeter.properties的sampleresult.default.encoding

1、在jmeter的安装路径apache-jmeter-4.0\bin下;
2、打开jmeter.properties的文件;
3、sampleresult.default.encoding=UTF-8,去掉注释符#;
4、保存文件,重启jmeter

Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

第二种方法,修改配置文件:jmeter.properties的jsyntaxtextarea.font.family

1、在jmeter的安装路径apache-jmeter-4.0\bin下;
2、打开jmeter.properties的文件;
3、jsyntaxtextarea.font.family=Hack,去掉注释符#;
4、 保存文件,重启jmeter
Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

第三种方法,请求接口的Content encoding

修改每个请求的Content encoding为“UTF-8”,不需要重启jmeter
Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

第四种方法,添加beanShell PostProcessor

输入脚本:prev.setDataEncoding(“UTF-8”);

不需要重启jmeter
Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

第五种方法,确定csv文件保存的格式编码

使用txt打开,并保存为“UTF-8”格式,重新将csv文件导入jmeter中

Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

但,发现使用txt保存的“UTF-8”格式,使用Notepad++打开,显示文件编码为“UTF-8-BOM”

Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

为了避免是这个原因导致乱码,又使用Notepad++将csv文件切换为“UTF-8”,再保存

第六种方法,在jmeter修改csv文件的读取格式

在jmeter修改csv文件的读取格式为“UTF-8”,不需要重启jmeter
Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

以上方法尝试后,都没有解决我的Response Body中文显示为乱码的问题。

再次思考,是否请求前的参数就是乱码?

如果是请求中的乱码,如下图

Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法
解决方法:

使用上面提到的第三种方法Content encoding,能正常
Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

备注:同时配置jmeter上csv的“File encoding”和请求的Content encoding为“UTF-8”,请求接口body的中文显示为乱码,这时,只要将csv的“File encoding”的“UTF-8”修改为“Edit”

Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

在确保请求接口的参数是正常显示中文的情况下,尝试了上面6种方法,Response Body还是乱码?那问题到底出现在哪里?

忽然思路一转,既然请求过去的中文没有问题,那应该返回值是正常的,那应该就是显示的问题导致。

最后尝试将结果树的显示方式“Text”改为“Json”,哦~~~~~~,Response Body居然正常显示中文了。

正如那句诗:众里寻他千百度,那人却在灯火阑珊处

Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法

晚安

#成长是具体的#