2

我在使用 zxing api 生成正确的二维码时遇到问题。我能够生成一个二维码,但是当我阅读二维码时,像“äü”这样的字符并没有正确显示。

代码:

BitMatrix matrix = writer.encode(text, BarcodeFormat.QR_CODE, 200,200);
//text is String text = "geändert";

bufferedImage = MatrixToImageWriter.toBufferedImage(matrix);

如果我以“ü”开头,然后是“äö”,那么它显示正确有人知道为什么吗?

4

4 回答 4

2

您可以从下面的代码中读取来自 zxing api 的二维码。

binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(ImageIO.read(new FileInputStream("QR_Code.JPG")))));
        result = new MultiFormatReader().decode(binaryBitmap);
        System.out.println("QR Code : "+result.getText());
于 2013-03-18T12:20:08.623 回答
1

Hashtable您传递编码器的提示中,设置EncoderHintType.CHARACTER_SET"UTF-8". Barry 的回答是正确的,但强制它尝试 UTF-8 可能对您更有效。

于 2011-07-13T14:56:05.593 回答
1

如果您查看来自 zxing http://code.google.com/p/zxing/wiki/DeveloperNotes的开发人员文档,您会看到他们明确谈论非拉丁字符的问题。

由于 QR 码标准没有定义在 QR 码中指定字符编码的确切方式,因此建议仅使用出现在所有三种标准编码(ISO-8859-1、ISO-8859-15、UTF-8)中的字符)

于 2011-07-13T13:50:14.037 回答
1

您可以从下面的代码中读取来自 zxing api 的二维码。

binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(ImageIO.read(new FileInputStream("QR_Code.JPG"))))); 

result = new MultiFormatReader().decode(binaryBitmap); 

System.out.println("QR Code : "+result.getText());
于 2013-03-18T12:23:20.907 回答