`
yangpanwww
  • 浏览: 625452 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

用Zxing 的core和javase包生成中文二维码,手机端无法识别

阅读更多

 

       用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>

 

分享到:
评论

相关推荐

    ireport生成一维码和google zxing二维码

    1. 引入库:ZXing的javase.jar和core-3.0.0.jar需要添加到项目的类路径中,以支持二维码的生成。 2. 使用自定义函数:由于iReport本身不直接支持ZXing,我们可能需要编写Java代码片段(在iReport中称为“自定义函数...

    zxing生成二维码,图片Base64编码

    在这个场景中,我们将讨论如何使用ZXing库生成二维码,并且如何将生成的二维码图片进行Base64编码。 首先,让我们了解二维码的基本原理。二维码(Quick Response Code)是一种二维条形码,能够存储大量的信息,如...

    zxing 3.2.0 core与javase 两jar包

    使用ZXing 3.2.0的这两个JAR包,开发者可以轻松地在Java应用中添加条码读取和生成功能,无论是桌面应用还是服务器端应用。同时,由于ZXing是开源的,社区不断对其进行更新和优化,确保了其在条码处理领域的高效性和...

    二维码绘图jar包-zxing.jar-core.jar-zxing-javase.jar

    `zxing.jar`、`core.jar`和`zxing-javase.jar`是与二维码相关的Java库,它们为开发者提供了强大的二维码生成和读取功能。下面我们将详细探讨这些库及其应用。 `zxing`,全称为“Zebra Crossing”,是一个开源的、多...

    android zxing 二维码 JavaSE包 3.2.1

    最新的Java平台二维码开发工具ZXing3.2.1 JavaSE编译后jar包,结合ZXing Core核心包使用,ZXing3.2.1 Core核心包已上传。

    Zxing31和javase

    在Zxing3.1版本中,"javase.jar"这个文件很显然是针对JavaSE环境的,意味着Zxing提供了专门针对Java标准版的实现,使得开发者能够在JavaSE环境中轻松地利用Zxing进行二维码和条形码的处理。 使用Zxing3.1与JavaSE...

    zxing 二维码识别jar包

    在Java世界中,ZXing通常通过提供一个包含核心解码功能的jar包来使用,这就是"zxing 二维码识别jar包"。 `core-2.1.jar`是ZXing的核心库,包含了二维码和条形码识别的主要功能。这个库提供了基本的解码引擎,支持...

    zxing生成二维码jar包

    总的来说,ZXing是一个强大的工具,可以帮助开发者轻松地在Java和Android应用中集成条码和二维码的生成与识别功能。通过理解并掌握`core-2.2.jar`和`zxing-javase.jar`的用法,你可以在你的项目中实现各种与条码相关...

    zxing.zip(用于java生成二维码)

    本压缩包"zxing.zip"提供了Java生成二维码的相关资源,包括`core.jar`和`javase.jar`两个核心文件。 `core.jar`是ZXing的核心库,包含了条码解码和编码的基本功能。这个库不仅支持二维码,还支持多种其他条码格式,...

    谷歌二维码jar包(zxing-3.3.2 && zxing-core.2.1 && zxing-javase-2.1)

    谷歌二维码库,也被称为ZXing(Zebra Crossing),是一个开源的、多平台的条码读取和生成项目。ZXing提供了各种格式的条形码和二维码处理能力,包括QR码、Data Matrix、UPC和EAN等。在给定的压缩包中,包含了三个...

    spring boot用zxing生成二维码,支持logo.qrcode-master.zip

    在本文中,我们将深入探讨如何在Spring Boot项目中利用ZXing库生成二维码并支持自定义logo。ZXing,全称为“Zebra Crossing”,是一个开源的、多格式的1D/2D条码图像处理库,它能读取、写入多种条码格式,包括二维码...

    ZXing生成,读取二维码

    在给定的信息中,我们可以看到`core.jar`和`javase.jar`是ZXing项目的主要库文件,而`TestEnDeCode.java`则可能是包含测试代码的文件,用于演示如何使用ZXing进行二维码的编码和解码。 1. **ZXing核心库(core.jar)*...

    JAVA生成Zxing二维码

    以上内容详细介绍了如何在Java环境下使用Zxing库生成和读取二维码,包括基础的生成和读取操作,以及生成带LOGO的二维码和手机名片二维码。这只是一个基本的起点,实际应用中可能还需要根据具体需求进行更复杂的定制...

    zxing 生成二维码

    6分不多 包含内容ZXing-core-2.2.jar ZXing-javase-2.2.jar 生成二维码、解析二维码java代码 PDF-417中文乱码的处理

    google zxing生成二维码两个必备jar包

    总的来说,ZXing是开发者在Java和Android平台上处理二维码的强大工具,这两个必备的JAR包——zxing-core和zxing-javase,提供了完整的二维码生成和解码能力,让开发者无需深入理解复杂的编码细节,即可快速实现相关...

    zxing-core-3.2.2 zxing-javase-3.2.1

    总的来说,`zxing-core-3.2.2`和`zxing-javase-3.2.1`这两个jar包是ZXing项目的重要组成部分,分别提供了核心的解码算法和Java桌面环境的支持,使得开发者能够高效地处理条形码和二维码,无论是在服务器端还是客户端...

    zxing-3.3.0.jar(core+javase)

    zxing-3.3.0,java开发二维码的jar包,包含core和javase下的内容,可分别调用其中方法生成二维码并输出到文件

    一维码二维码所需资源包javase-3.2.1 zxing-core-3.2.1.jar

    这两个资源包,`javase-3.2.1.jar` 和 `zxing-core-3.2.1.jar`,是开发Java应用程序时用于生成和解析一维码与二维码的关键组件。 `javase-3.2.1.jar` 是一个针对Java Standard Edition(Java SE)平台的特定版本库...

    使用google-zxing 生成二维码的简单小实例

    Google-ZXing(Zebra Crossing)是开源的二维码和条形码处理库,它提供了丰富的功能,包括读取、生成二维码和一维条形码。本实例将详细介绍如何使用ZXing来生成二维码。 首先,ZXing库的引入至关重要。在Java项目中...

    二维码生成2个依赖包(zxing--core/javase).rar

    总结来说,`zxing--core.jar`和`zxing-javase.jar`是Java开发中生成二维码的关键依赖,它们提供了从数据编码到图像生成的完整流程,使得开发者能够轻松地在各种Java应用中实现二维码功能。无论是简单的数据传输还是...

Global site tag (gtag.js) - Google Analytics