对于zBar解码中文,网上都有对应解决方法。这里只是总结补充说明。
网上搜到的方法包括:
1: 修改识别说明,把“ISO8859-1” 改为“GB18030”等;
2: 修改使用识别顺序:
zBar默认使用首先sjis(日文)识别。[毕竟zBar是岛国出品]
3: 对于识别结果,如果能转为NSShiftJISStringEncoding的,那么就对应转成NSShiftJISStringEncoding。
for (ZBarSymbol * symbol in results){
str = symbol.data;
if (symbol.type == ZBAR_QRCODE) {
if ([symbol.data canBeConvertedToEncoding:NSShiftJISStringEncoding]) {
str = [NSString stringWithCString:[symbol.data cStringUsingEncoding: NSShiftJISStringEncoding] encoding:NSUTF8StringEncoding];
}
}
break;
}
而对于部分中文确实是使用第一种方法就可以解决,比如:
这样改后,我的问题还是没能解决,在第一和第二方法都未能解决,但是第三可以解决。
我的二维码是车牌作为内容,比如:粤B8888