用Zxing 的core和javase包生成有中文的二维码,手机端无法识别的问题,在看了这个https://q.cnblogs.com/q/49762/博客后,想死的心都有了 ,
// 指定编码格式 hints.put(EncodeHintType.CHARACTER_SET, "utf-8");// 注意这里utf-8一定要小写
这样就可以解决手机不能识别的问题,而且也能支持中文。
至于原因,查看了源代码后,发现使用“UTF-8”,会在文本编码前添加一段ECI(扩充解释Extended Channel Interpretation)
编码,就是这段编码导致手机不能解析。如果使用小写"utf-8"会使这个ECI判断失效而不影响内容编码方式。
完整代码如下:
MultiFormatWriter writer = new MultiFormatWriter(); // 生成二维码 try { String code = "name=正常注册的企业-审核通过"; // 二维码中的内容 HttpServletResponse response = ServletActionContext.getResponse (); ServletOutputStream outStream = response.getOutputStream (); Map<EncodeHintType, String> hints = new HashMap<EncodeHintType, String>(); hints.put (EncodeHintType.CHARACTER_SET, "utf-8");// 注意这里utf-8一定要小写 //code = new String(code.getBytes("UTF-8"),"ISO-8859-1");//如果不想更改源码,则将字符串转换成ISO-8859-1编码 BitMatrix matrix = writer.encode (code, BarcodeFormat.QR_CODE, width, height, hints); //BitMatrix matrix = writer.encode (code, BarcodeFormat.QR_CODE, width, height); MatrixToImageWriter.writeToStream (matrix, "png", outStream); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace (); }
<!-- zxing 二维码 --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>2.2</version> </dependency>
相关推荐
谷歌二维码jar包(zxing-3.3.2 && zxing-core.2.1 && zxing-javase-2.1)
最新的Java平台二维码开发工具ZXing3.2.1 JavaSE编译后jar包,结合ZXing Core核心包使用,ZXing3.2.1 Core核心包已上传。
6分不多 包含内容ZXing-core-2.2.jar ZXing-javase-2.2.jar 生成二维码、解析二维码java代码 PDF-417中文乱码的处理
压缩包内是java生成二维码的包 里面有core.jar与javase.jar。 我把这两个包合并起来生成zxing.jar包,你也可以不用我合成后的包, 直接用core,javase。
zxing-3.3.0,java开发二维码的jar包,包含core和javase下的内容,可分别调用其中方法生成二维码并输出到文件
ZXing生成二维码jar包与源码包,core-2.2.jar 和 javase-2.2.jar
二维码绘图jar包-zxing.jar-core.jar-zxing-javase.jar 亲测能用
ZXing生成,读取二维码,core.jar,javase .jar内有测试文件
java生成二维码所依赖的两个jar包,com.google.zxing(core+javase)两个包
zxing-core-3.2.2 zxing-javase-3.2.1 两个jar包下载。
使用ireport生成一维码和二维码,二维码采用google zxing的方式生成,包含ireport生成二维码需要的jar包如javase.jar,core-3.0.0.jar等
使用zxing生成解析二维码工具类,java代码,附 zxing core-3.1.0.jar 、javase-3.1.0.jar,jdk不低于1.7
包括两个jar包:core-2.2.jar和zxing-javase.jar。实例代码在:http://blog.csdn.net/lzghxjt/article/details/78178403
一维码二维码所需资源jar包,包含javase-3.2.1.jar 和 zxing-core-3.2.1.jar
google zxing生成二维码两个必备jar包 包含 zxing-core.2.1.jar zxing-javase-2.1.jar 两个文件
zxing2.2版本jar包,分别是core-2.2.jar和javase-2.2.jar,java生成二维码的两个jar,core为二维码生成包,javase为java文件什么的工具类包。支持jdk 1.6 亲身测试
com.google.zxing 包含 core 、javase两个jar包,可用于二维码、条形码生成
2.lib文件夹下的zxing-2.2-client.jar和zxing-2.2-core.jar 为依据 ZXing-2.2.zip 中的core包和javase包的源码导出的jar 3.需要使用JDK1.6 4.本工程实现二维码的生成和读取(文件读取方式,非摄像头读取),支持...
该资源提供两个iReport 生成二维码必须的包core javase,其中包含JDK1.7 版本 及JDK1.8版本
java生成二维码需要的包,包括zxing-javase.jar qrgen-1.3-sources.jar qrcode_swetake.jar core-3.0.0.jar qrcode.jar