iPhone ZBar库 中文乱码解决方法
2012-10-19 09:55
148 查看
zbar下载主页,有源码 http://zbar.hg.sourceforge.net/hgweb/zbar http://sourceforge.net/p/zbar/code/ci/default/tree/
或者:http://download.csdn.net/detail/ydj213/4810522
原文地址:http://blog.sitetuan.com/index.php/2012/05/21/iphone-zbar库-中文乱码解决方法/
iPhone 下可以使用的 一维码、二维码 开源库有 ZXing 和 ZBar ,其中 zxing 主要是针对 Android 系统开发的,对 iPhone 支持很弱,所以 ZBar 是 iPhone 下最好的选择。
ZBar 有个问题,对于中文二维码的支持经常出现乱码。ZBar 缺省支持 SHIF-JIS, UTF-8, ISO8859-1 ,但是不支持 GB18030,而很多生成的二维码都是 GB18030 (或者 GBK, GB2312)的,所以 ZBar 解码出来就直接乱码了,最近开发 回首二维码 就遇到了这个问题。(回首二维码 下载)
这个修改其实很简单,只需要修改一个文件就可以了,见下面代码。
zbar/qrcode/qrdectxt.c
或者:http://download.csdn.net/detail/ydj213/4810522
原文地址:http://blog.sitetuan.com/index.php/2012/05/21/iphone-zbar库-中文乱码解决方法/
iPhone 下可以使用的 一维码、二维码 开源库有 ZXing 和 ZBar ,其中 zxing 主要是针对 Android 系统开发的,对 iPhone 支持很弱,所以 ZBar 是 iPhone 下最好的选择。
ZBar 有个问题,对于中文二维码的支持经常出现乱码。ZBar 缺省支持 SHIF-JIS, UTF-8, ISO8859-1 ,但是不支持 GB18030,而很多生成的二维码都是 GB18030 (或者 GBK, GB2312)的,所以 ZBar 解码出来就直接乱码了,最近开发 回首二维码 就遇到了这个问题。(回首二维码 下载)
这个修改其实很简单,只需要修改一个文件就可以了,见下面代码。
zbar/qrcode/qrdectxt.c
int qr_code_data_list_extract_text(const qr_code_data_list *_qrlist, zbar_image_scanner_t *iscn, zbar_image_t *img) { iconv_t sjis_cd; iconv_t utf8_cd; iconv_t latin1_cd; const qr_code_data *qrdata; int nqrdata; unsigned char *mark; int ntext; int i; qrdata=_qrlist->qrdata; nqrdata=_qrlist->nqrdata; mark=(unsigned char *)calloc(nqrdata,sizeof(*mark)); ntext=0; /*This is the encoding the standard says is the default.*/ // 重点在这里,我们不要 ISO8859-1,直接换成 GB18030 就可以了 //latin1_cd=iconv_open("UTF-8","ISO8859-1"); latin1_cd=iconv_open("UTF-8","GB18030"); /*But this one is often used, as well.*/ sjis_cd=iconv_open("UTF-8","SJIS"); /*This is a trivial conversion just to check validity without extra code.*/ utf8_cd=iconv_open("UTF-8","UTF-8");
latin1_cd=iconv_open("UTF-8","ISO8859-1"); sjis_cd=iconv_open("UTF-8","GB2312"); utf8_cd=icon_open("UTF-8","UTF-8");
相关文章推荐
- iPhone ZBar库 中文乱码解决方法--重新编译libzbar.a 请勿转载
- iPhone ZBar库 中文乱码解决方法
- iPhone ZBar库 中文乱码解决方法--重新编译libzbar.a
- iPhone ZBar库 中文乱码解决方法--重新编译libzbar.a
- iPhone ZBar库 中文乱码解决方法--重新编译libzbar.a
- 解决utf-8编码下 echo 弹出javascript alert中文乱码解决方法
- windows文件(.txt,.h,.cpp等等)中的中文在ubuntu下乱码的解决方法
- JBPM中文乱码的一种解决方法
- html设计之js弹出框出现中文乱码解决方法
- MyEclipse编码设置,中文乱码解决方法,UTF-8,GBK(转)
- Android Studio模拟器运行项目中文显示乱码的解决方法
- 中文乱码解决方法
- Apache Tomcat集群中文乱码问题解决方法
- JAVA中文乱码解决方法
- Ubuntu10.04下PDF中文无法显示或显示乱码的解决方法
- 解决jsp+MysQL输入和输出中文乱码的方法!
- python中文乱码的解决方法
- Ubantu12.04中文显示乱码解决方法
- 详解Linux中文乱码问题终极解决方法
- JAVA通过JDBC连接Mysql获取中文输出乱码解决方法