JMeter5.2 中文乱码情况之beanshell加密加签后中文乱码

问题描述:HTTP请求的数据中包含中文,在beanshell前置处理器中对请求报文进行加密加签后再发送服务,从服务器的日志中看到中文显示乱码。

JMeter版本为5.2.1

网上资料说Jmeter启动时以gbk编码启动的。所以要更改为UTF-8

jmeter安装目录的bin下找到jmeter.bat

在ARGS前添加 set FILEENCODING=-Dfile.encoding=UTF-8,在set ARGS=  后添加  %FILEENCODING%   保存,并重启jmeter.

 

按照此种方式设置后,问题并没有解决,使用低版本的JMeter(3.0),按照此方法修改,问题得到解决。

于是分析JMeter5.2版本修改配置无效的问题

方式一:

先设置FILEENCODING 变量的值,再添加到ARGS变量后面,通过两个echo输出查看参数设置的值是否如预期,再执行JMeter脚本,发现后台中文解析正常,问题解决。

if not defined FILEENCODING (
    set FILEENCODING=-Dfile.encoding=UTF-8
)

echo   set FILEENCODING = %FILEENCODING%

rem Collect the settings defined above
if not defined JMETER_COMPLETE_ARGS (
    set ARGS=%JAVA9_OPTS% %DUMP% %HEAP% %VERBOSE_GC% %GC_ALGO% %DDRAW% %SYSTEM_PROPS% %JMETER_LANGUAGE% %RUN_IN_DOCKER% %FILEENCODING%
) else (
    set ARGS= 
)

echo set ARGS=%JAVA9_OPTS% %DUMP% %HEAP% %VERBOSE_GC% %GC_ALGO% %DDRAW% %SYSTEM_PROPS% %JMETER_LANGUAGE% %RUN_IN_DOCKER% %FILEENCODING%

方式二:

按照网上写法,直接在ARGS签名set FILEENCODING参数,echo输出,看到参数值也被修改了,但是执行JMeter脚本,后台解析中文还是乱码。问题原因目前不清楚,有明白的大佬请留言指导,谢谢!

rem Collect the settings defined above
if not defined JMETER_COMPLETE_ARGS (
		set FILEENCODING=-Dfile.encoding=UTF-8
    set ARGS=%JAVA9_OPTS% %DUMP% %HEAP% %VERBOSE_GC% %GC_ALGO% %DDRAW% %SYSTEM_PROPS% %JMETER_LANGUAGE% %RUN_IN_DOCKER% %FILEENCODING%
) else (
    set ARGS= 
)

echo set ARGS=%JAVA9_OPTS% %DUMP% %HEAP% %VERBOSE_GC% %GC_ALGO% %DDRAW% %SYSTEM_PROPS% %JMETER_LANGUAGE% %RUN_IN_DOCKER% %FILEENCODING%

备注:调试完后,echo可以去掉或者使用rem替换echo

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值