51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2865|回复: 8
打印 上一主题 下一主题

[求助] 请教关于UTF8转码的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-6-30 11:34:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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个汉字就会出问号  请问这个问题如何解决??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2014-7-2 11:21:33 | 只看该作者
在转码后字符段结尾会自动加字符串结尾符号,所以会显示出多一个符号
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2014-7-2 11:57:52 | 只看该作者
回复 2# wangyueyong1

你好  现在是转回来后少一个字  变成了问号 也就是说LR无法识别
“鐧诲綍鍒扮郴缁” 把  “缁”去掉后转码得到的是 "登录到系"
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2014-7-3 15:34:04 | 只看该作者
不是识别不出来,是你没看到
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2014-7-3 15:35:11 | 只看该作者
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");
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2014-7-3 15:35:45 | 只看该作者
第一运行出来的结果是Action.c(4): Notify: Parameter Substitution: parameter "re1" =  "鐧诲綍鍒扮郴缁\x9f\x00"
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2014-7-3 15:36:04 | 只看该作者
而不是你输出的那个
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2014-7-3 17:39:43 | 只看该作者
谢谢,问题解决了
使用lroutputmessage打印出来的的确是少了个尾巴
需要在日志中查看
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2024-2-19 21:55
  • 签到天数: 556 天

    连续签到: 1 天

    [LV.9]测试副司令

    9#
    发表于 2016-4-22 17:01:21 | 只看该作者
    strcpy(tmp,lr_eval_string("{str}"));

    lr_log_message("str is %s",tmp);
    lr_save_string(tmp,"sorvalue");
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-2 19:20 , Processed in 0.069538 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表