zoukankan      html  css  js  c++  java
  • jmeter查看结果树中响应数据Unicode转换成中文

    问题解析:

    Jmeter的sampler请求结果的默认编码方式为:ISO-8859-1(不支持中文)

    【解决方案】

    1)jmeter的bin目录下,找到jmeter.properties文件,打开并搜索sampleresult

    2)修改默认编码为UTF-8 且去掉前面的 #

     3)添加后置处理器 BanShell PostProcessor

    String s=new String(prev.getResponseData(),"UTF-8");
    char aChar;
    int len= s.length();
    StringBuffer outBuffer=new StringBuffer(len);
    for(int x =0; x <len;){
    aChar= s.charAt(x++);
    if(aChar=='\'){
    aChar= s.charAt(x++);
    if(aChar=='u'){
    int value =0;
    for(int i=0;i<4;i++){
    aChar= s.charAt(x++);
    switch(aChar){
    case'0':
    case'1':
    case'2':
    case'3':
    case'4':
    case'5':
    case'6':
    case'7':
    case'8':
    case'9':
    value=(value <<4)+aChar-'0';
    break;
    case'a':
    case'b':
    case'c':
    case'd':
    case'e':
    case'f':
    value=(value <<4)+10+aChar-'a';
    break;
    case'A':
    case'B':
    case'C':
    case'D':
    case'E':
    case'F':
    value=(value <<4)+10+aChar-'A';
    break;
    default:
    throw new IllegalArgumentException(
    "Malformed \uxxxx encoding.");}}
    outBuffer.append((char) value);}else{
    if(aChar=='t')
    aChar=' ';
    else if(aChar=='r')
    aChar=' ';
    else if(aChar=='n')
    aChar=' ';
    else if(aChar=='f')
    aChar='f';
    outBuffer.append(aChar);}}else
    outBuffer.append(aChar);}
    prev.setResponseData(outBuffer.toString());

    重新启动jmeter,查看结果树响应数据已经显示为中文。

  • 相关阅读:
    日期和时间
    怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
    数据类型之间的转换:
    类的加载顺序,支出下列程序的输出结果
    内部类
    对象的类型转换
    简单继承
    封装
    计算a+b
    U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法
  • 原文地址:https://www.cnblogs.com/tianpin/p/10032727.html
Copyright © 2011-2022 走看看