51Testing软件测试论坛

标题: 参数化时内容为中文时该如何处理 [打印本页]

作者: 379413101    时间: 2015-12-29 11:00
标题: 参数化时内容为中文时该如何处理
"Body={\"communityId\":\"784\",\"type\":\"2\",\"content\":\"{content}\",\"photos\":\"\"}"
我对这个“content”进行了参数化,参数化的值我有输入数字、英文、中文。run的时候会报错,是因为中文的原因。请教下,有谁知道参数化中赋值的时候这个中文要如何处理。
作者: jingzizx    时间: 2015-12-29 13:25
应该把编码格式调成一致吧
楼主可以在参数化之前传中文,看看显示是否正常
作者: 379413101    时间: 2015-12-29 14:25
jingzizx 发表于 2015-12-29 13:25
应该把编码格式调成一致吧
楼主可以在参数化之前传中文,看看显示是否正常

参数化之前传中文也会报错,不过我这样就可以处理了
   lr_convert_string_encoding("中文",

   LR_ENC_SYSTEM_LOCALE,

   LR_ENC_UTF8,

   "str");

   strcpy(tmp,lr_eval_string("{str}"));

   lr_save_string(tmp,"sorvalue");
但是这个只是针对单个的中文而非参数化里面的中文
作者: joykao    时间: 2015-12-29 14:27
建议编码的格式统一成UTF-8,赋值为中文也是没问题的
作者: 379413101    时间: 2015-12-29 14:40
这个问题我已经处理好了,在这里也分享下,这样就可以了。lr_convert_string_encoding(lr_eval_string("{content}"),

   LR_ENC_SYSTEM_LOCALE,

   LR_ENC_UTF8,

   "UnicodeString");

   lr_save_string(lr_eval_string("{UnicodeString}"),"content");
作者: 379413101    时间: 2015-12-29 14:50
问题已解决,这样就可以了。lr_convert_string_encoding(lr_eval_string("{content}"),

   LR_ENC_SYSTEM_LOCALE,

   LR_ENC_UTF8,

   "UnicodeString");

   lr_save_string(lr_eval_string("{UnicodeString}"),"content");




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2