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

一、首先要理解 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}"));