novesky的个人主页

http://www.qtcn.org/bbs/u/73156  [收藏] [复制]

novesky

  • 16

    关注

  • 37

    粉丝

  • 188

    访客

  • 等级:侠客
  • 总积分:130
  • 男,2011-11-16

最后登录:2016-01-11

更多资料

日志

用base64编码解决中文乱码问题

2011-09-16 00:52
    情况是这样的:程序中用QProcess启动另一个用来显示文字的程序,传入参数为要显示的文字。然后出现问题了,当传中文的时候会导致有些英文系统上文字不显示等情况。试了网上的的几种办法,比如设置gbk编码呀都不行。后来想到了base64编码过的字符串传过去,由于都是ASCII码了,参数在传递过程中应该不会有问题,就好比不传中文只传英文一切正常,然后接受参数的程序再把这个编码过的字符串解码就行了。实验了下,果然成了!
    不知还有没有其他的办法,这个也算是一个不错的方法,网上还没见到过。
    
    先将参数编码
  1. QStringList args;
    args.append(argv1.toUtf8().toBase64());
    ...
    QProcess::execute(program, args);
    program中要对参数解码

  1. QString argv1=QString::fromUtf8(QByteArray::fromBase64(argv[1]));
    ....




分类:默认分类|回复:0|浏览:2560|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:05-02 03:15
©2005-2016 QTCN开发网 版权所有 Gzip disabled