51Testing软件测试论坛
标题:
请教关于UTF8转码的问题
[打印本页]
作者:
fiskeryang
时间:
2014-6-30 11:34
标题:
请教关于UTF8转码的问题
本帖最后由 fiskeryang 于 2014-6-30 11:36 编辑
在LR中使用lr_convert_string_encoding将utf8转成null后 再转回来 最后一个字符会变成?号
比如下面
lr_convert_string_encoding("登录到系统",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"re1");
lr_output_message("%s",lr_eval_string("{re1}"));
转码后得到 “鐧诲綍鍒扮郴缁”,再转回去
lr_convert_string_encoding("鐧诲綍鍒扮郴缁",LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"re");
lr_output_message("%s",lr_eval_string("{re}"));
得到的却是 "登录到系?"
尝试多次发现超过2个汉字就会出问号 请问这个问题如何解决??
作者:
wangyueyong1
时间:
2014-7-2 11:21
在转码后字符段结尾会自动加字符串结尾符号,所以会显示出多一个符号
作者:
fiskeryang
时间:
2014-7-2 11:57
回复
2#
wangyueyong1
你好 现在是转回来后少一个字 变成了问号 也就是说LR无法识别
“鐧诲綍鍒扮郴缁” 把 “缁”去掉后转码得到的是 "登录到系"
作者:
wangyueyong1
时间:
2014-7-3 15:34
不是识别不出来,是你没看到
作者:
wangyueyong1
时间:
2014-7-3 15:35
lr_convert_string_encoding("登录到系统",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"re1");
lr_convert_string_encoding("鐧诲綍鍒扮郴缁\x9f",LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"re");
作者:
wangyueyong1
时间:
2014-7-3 15:35
第一运行出来的结果是Action.c(4): Notify: Parameter Substitution: parameter "re1" = "鐧诲綍鍒扮郴缁\x9f\x00"
作者:
wangyueyong1
时间:
2014-7-3 15:36
而不是你输出的那个
作者:
fiskeryang
时间:
2014-7-3 17:39
谢谢,问题解决了
使用lroutputmessage打印出来的的确是少了个尾巴
需要在日志中查看
作者:
让测试飞起来
时间:
2016-4-22 17:01
strcpy(tmp,lr_eval_string("{str}"));
lr_log_message("str is %s",tmp);
lr_save_string(tmp,"sorvalue");
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2