jmeter更改啟動編碼設置


項目中碰到這樣的問題,在eclipse經過utf-8轉碼的代碼,能正常運行,放到了jmeter里面運行,就是亂碼,如下:

        String s = "喬佳飛";
        String ss = null;
        try {
            ss = new String(s.getBytes("UTF-8"));
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
           System.out.println(ss);
        // TODO Auto-generated method stub

控制台打印:

喬佳飛

但是同樣的代碼放在jmeter的beanshell中運行,注意,使用log.info方法:

        String s = "喬佳飛";
        String ss = null;
        try {
            ss = new String(s.getBytes("UTF-8"));
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
           log.info(ss);
           System.out.println(ss);
        // TODO Auto-generated method stub

 

打印的效果是:

使用了各種轉碼方法,都不能正常輸入,后經過各種途徑,找到了更改jmeter安裝目錄bin下面的jmeter.bat文件,jmeter默認使用GBK編碼啟動,需要自己更改為UTF-8,如下:

在set ARGS 前面一行加上:

set FILEENCODING=-Dfile.encoding=UTF-8

然后在set ARGS最后面加上引用變量:

%FILEENCODING% 

最終的效果如下:

重啟jmeter,再次運行之前亂碼的請求,效果如下:。

2017年11月24日 17:10:23更新:

如果是ant調用的jmeter,需要個更改JMeterTask源碼,並將更改后的源碼打包進ant-jmeter-1.1.1.jar,放在ant的安裝目錄里的lib下,

增加的代碼是

//設置編碼 cmd.createVmArgument().setValue("-Dfile.encoding=UTF-8");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM