首先参考了这片文章http://blog.csdn.net/xueer8835/article/details/7955590
把库里的zbar/qrcode/qrdectxt.c 文件的
//latin1_cd=iconv_open("UTF-8","ISO8859-1");
变成
latin1_cd=iconv_open("UTF-8","GB18030")
然后再重新编译.a文件
最后在zarbar回调中加上代码
ZBarSymbol *sym = nil; for(sym in syms) { break; } NSString *result = sym.data; if ([result canBeConvertedToEncoding:NSShiftJISStringEncoding]) { result = [NSString stringWithCString:[result cStringUsingEncoding: NSShiftJISStringEncoding] encoding:NSUTF8StringEncoding]; }