dear风会停息
2015-11-18 09:36
采纳率: 13.8%
浏览 1.9k

ios7自带的二维码扫描出现中文乱码

扫描utf8格式的二维码的时候是没有问题的,今天客户拿了他们那边的二维码过来,结果就乱码了,应该是编码的问题,请大神们帮忙看下,附上一张图
图片说明

急啊
求解决

乱码为:lzurl://³µá¾éêçë
正确的是:lzurl://车辆申请
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • houyongzhong12 2018-11-15 09:00

    NSData *data=[message dataUsingEncoding:NSUTF8StringEncoding];
    //kCFStringEncodingGB_18030_2000
    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];//如果中文是utf-8编码转gbk结果为空
    //如果扫描中文乱码则需要处理,否则不处理
    if (retStr) {
    NSInteger max = [message length];
    char *nbytes = malloc(max + 1);
    for (int i = 0; i < max; i++) {
    unichar ch = [message characterAtIndex: i];
    nbytes[i] = (char) ch;
    }
    nbytes[max] = '\0';
    result = [NSString stringWithCString: nbytes encoding: enc];
    }

    点赞 打赏 评论