LoadRunner Request请求中含有中文处理方法

三世轮回 提交于 2019-12-02 22:13:40

一、首先要理解 lr_convert_string_encoding 函数对中文进行UTF-8转码 的使用

int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);

四个参数代表的含义:

  sourceString:被转换的源字符串。

  fromEncoding:转换前的字符编码。

  toEncoding:要转换成为的字符编码。

  paramName:转换后的目标字符串。

 

二、解决乱码问题

  1.request乱码:将中文消息使用lr_convert_string_encoding先转码,再传入请求参数

  注意:请求转码函数必须写在请求函数之前,如:

//中文请求参数转换//char tmp[50];
lr_convert_string_encoding("中欧国际班列",   
    LR_ENC_SYSTEM_LOCALE,
    LR_ENC_UTF8,
    "str");
//strcpy(tmp,lr_eval_string("{str}"));
lr_save_string(lr_eval_string("{str}"),"payerName");

  

  2.response乱码:将响应乱码lr_convert_string_encoding先转码,再输出(这样在lr的日志中就能看到正常的中文了)

  注意:响应转换函数必须写在请求函数之后,如:

lr_convert_string_encoding(lr_eval_string("{ResponseBody}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,"ResponseBodyUTF8");
  //输出信息
  //lr_output_message("# 响应内容体:\n %s", lr_eval_string("{ResponseBodyUTF8}"));  lr_error_message("# 错误响应内容体:\n %s",lr_eval_string("{ResponseBodyUTF8}"));

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!