使用ZBarSDK进行二维码解释时出现乱码是因为ZBarSDK在解释时使用的字符集不对,需在ZBarSDK的源码中更正。
1、可以到http://sourceforge.net/p/zbar/_list/hg下载源码
我用浏览器下载提示网络异常,后来使用迅雷下载。
2、在源码包的iphone目录,找到xcode工程文件打开
3、打开src/zbar/qrcode/qrdectxt.c做如下修改
latin1_cd=iconv_open("UTF-8","ISO8859-1");//网上有介绍改这个的,我没成功
sjis_cd=iconv_open("UTF-8","GB2312");//只改了这条
utf8_cd=iconv_open("UTF-8","UTF-8");
4、编译生成lizbar.a
这个工程有多个target打开工程默认的是EmbedReader,要改成lizbar
打开libzbar的Edit Scheme.将build Configuration改为Release。然后编译
5、编译后Products下的libzbar.a变成了黑色。右键使用Show in Finder打开,可以找到libzbar.a。将其拷到你的工程中。