jmater常见问题处理

一、响应数据的中文编码是unicode,增加后置处理器bean shell转换成中文:

jmater常见问题处理

 

代码如下:

1 //获取响应代码Unicode编码的 2 String s2=new String(prev.getResponseData(),"UTF-8"); 3 //---------------以下步骤为转码过程--------------- 4 char aChar; 5 int len= s2.length(); 6 StringBuffer outBuffer=new StringBuffer(len); 7 for(int x =0; x <len;){ 8 aChar= s2.charAt(x++); 9 if(aChar=='\\'){ 10 aChar= s2.charAt(x++); 11 if(aChar=='u'){ 12 int value =0; 13 for(int i=0;i<4;i++){ 14 aChar= s2.charAt(x++); 15 switch(aChar){ 16 case'0': 17 case'1': 18 case'2': 19 case'3': 20 case'4': 21 case'5': 22 case'6': 23 case'7': 24 case'8': 25 case'9': 26 value=(value <<4)+aChar-'0'; 27 break; 28 case'a': 29 case'b': 30 case'c': 31 case'd': 32 case'e': 33 case'f': 34 value=(value <<4)+10+aChar-'a'; 35 break; 36 case'A': 37 case'B': 38 case'C': 39 case'D': 40 case'E': 41 case'F': 42 value=(value <<4)+10+aChar-'A'; 43 break; 44 default: 45 throw new IllegalArgumentException( 46 "Malformed \\uxxxx encoding.");}} 47 outBuffer.append((char) value);}else{ 48 if(aChar=='t') 49 aChar='\t'; 50 else if(aChar=='r') 51 aChar='\r'; 52 else if(aChar=='n') 53 aChar='\n'; 54 else if(aChar=='f') 55 aChar='\f'; 56 outBuffer.append(aChar);}}else 57 outBuffer.append(aChar);} 58 //-----------------以上内容为转码过程--------------------------- 59 //将转成中文的响应结果在查看结果树中显示 60 prev.setResponseData(outBuffer.toString());

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjsds.html