1. 程式人生 > >LOADRUNNER之漢字編碼轉換及\X00問題

LOADRUNNER之漢字編碼轉換及\X00問題

我們在使用loadrunner做效能測試的時候經常會出現一些URL編碼問題,如當引數中存在中文的時候

"Name=user", "Value=孟林", ENDITEM,

抓包的時候可以看到&user=%e5%ad%9f%e6%9e%97,然而我們在loadrunner中的指令碼日誌會發現並不是這樣,其原因是測試指令碼中漢字的編碼是ACSII而網站中漢字的編碼是UTR-8的形式,從而導致了指令碼執行的錯誤。

那出現了這樣的問題我們該如何是好呢?

我們可以在loadrunner中使用lr_convert_string_encoding()這個本身自帶的函式對漢字的編碼進行轉換。

//將引數Param中儲存的值轉換為UTF-8的形式
lr_convert_string_encoding(lr_eval_string("{Param}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8 ,"user");

然而這個時候我們會發現為什麼我的引數後面會有一個\x00?

不要驚慌,這個\x00是文字的一個結尾符,我們可以用下面這段程式碼將其去掉

//因為使用上面的函式轉換的時候會再字串後面加上\x00,所以需要使用以下的程式碼將其去掉
lr_save_string(lr_eval_string("{user}"),"user");
//進行呼叫
"Name=user", "Value={user}", ENDITEM,