kavensyw 发表于 2013-12-22 11:12:49

这个脚本中的Body中中文乱码如何参数化(lr_convert_string_encoding无效)

本帖最后由 kavensyw 于 2013-12-26 21:07 编辑

代码如下:


其中需要参数化的中文原名为:testCS(tt)车型拓展Crossline


实际期望值是:test%20%20CS(tt)%E8%BD%A6%E5%9E%8B%E6%8B%93%E5%B1%95Crossline
使用lr_convert_string_encoding转换,返回值是:testCS(tt)杞﹀瀷鎷撳睍Crossline
使用web_convert_param转换,返回值是:test++CS%tt%29%B3%B5%D0%CD%CD%D8%D5%B9Crossline


因为参数化时,需要很多条中文记录,不太可能把每个的值通过录制获取过来。因此请教,如何参数化为真实的中文值,请经过转化为期望的脚本实际值?。

kavensyw 发表于 2013-12-22 11:41:05

直接回放是能成功的,是不是因为做了某种加密?

398073412 发表于 2013-12-23 10:37:10

这个是url编码,不是那么解得
你那个解码后应该是:VW313CS(Lavida Derivat)车型拓展Crossline
需要参数化的应该是“车型拓展”这部分吧
将 VW313%20%20CS(Lavida%20Derivat)%E8%BD%A6%E5%9E%8B%E6%8B%93%E5%B1%95Crossline
中%E8%BD%A6%E5%9E%8B%E6%8B%93%E5%B1%95 部分直接参数化
写成 VW313%20%20CS(Lavida%20Derivat){parameter}Crossline (参数值用中文即可,不用转码)

kavensyw 发表于 2013-12-23 14:59:06

本帖最后由 kavensyw 于 2013-12-23 15:04 编辑

没有成功。如果不转码,按你说的,直接用“VW313%20%20CS(Lavida%20Derivat)车型拓展Crossline”代替,直接回放是不能成功的。

另外,我需要参数化的是整体的,VW...Crossline,是一个整体,代表“项目名称”

kavensyw 发表于 2013-12-26 16:25:40

本帖最后由 kavensyw 于 2013-12-26 16:39 编辑

已解决:

步骤1:将web_custom_request函数,用web_submit_data代替;
步骤2:将需要参数化的中文字符串,用转码
lr_convert_string_encoding("VW313CS(Lavida Derivat)车型拓展Crossline",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"qpnName");

我是真不会 发表于 2013-12-28 10:34:47

学习了
页: [1]
查看完整版本: 这个脚本中的Body中中文乱码如何参数化(lr_convert_string_encoding无效)