前言
在使用 jmeter 测试的时候,有些 html 页面返回的中文内容显示乱码,导致无法正常查看中文的内容
乱码场景
在打开百度页面时,返回的html内容中文显示乱码,如下图所示
出现乱码的原因,主要是请求 header 中没有charset字段,则默认为 ISO-8859-1 编码模式。
但实际上它返回的是 utf-8 的编码,导致无法解析中文,就出现了乱码
jmeter.properties 配置文件
解决方法一:jmeter.properties配置文件里面,默认解码方式为ISO-8859-1,可以修改此默认值,改成 utf-8 编码。
在 bin 目录找到 jmeter.properties 文件
找到如下位置
# The encoding to be used if none is provided (default ISO-8859-1)
# sampleresult.default.encoding=ISO-8859-1
改成
# The encoding to be used if none is provided (default ISO-8859-1)
sampleresult.default.encoding=UTF-8
保存退出,然后重启jmeter,再去运行中文就显示正常了
Bean Shell后置处理
解决方法二:在不改变配置文件的基础上,可以针对请求添加Bean Shell后置处理去解码
添加如下内容
prev.setDataEncoding("UTF-8");
再次运行也能正常显示中文
原文地址https://www.cnblogs.com/yoyoketang/,转载请注明出处!