解决方案:
1.开始参考的例子 :http://blog.csdn.net/xueer8835/article/details/7955590
在sourceforge下载zbar源码,修改了文件
zbar/qrcode/qrdectxt.c
// 重点在这里,我们不要 ISO8859-1,直接换成 GB18030 就可以了 //latin1_cd=iconv_open("UTF-8","ISO8859-1"); latin1_cd=iconv_open("UTF-8","GB18030");
修改完成后测试,发现乱码问题依然存在,测试的二维码使用中文编码(gb2312)。
2.在此基础上参考http://blog.csdn.net/smking/article/details/7310178
发现可能是解码顺序的问题,继续修改上面的文件
enc_list[0]=latin1_cd; enc_list[1]=sjis_cd; enc_list[2]=utf8_cd;
3.重新编译zbar源码,测试解码ok