我在使用zxing api生成正确的二维码时遇到了一个问题。我可以生成二维码,但当我读取二维码时,像"äü“这样的字符不会正确显示。
代码:
BitMatrix matrix = writer.encode(text, BarcodeFormat.QR_CODE, 200,200);
//text is String text = "geändert";
bufferedImage = MatrixToImageWriter.toBufferedImage(matrix);如果我以"ü“开头,然后是"äö”,那么它的显示是正确的,有人知道为什么吗?
发布于 2013-03-18 20:20:09
你可以从下面的代码中读取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());发布于 2011-07-13 21:50:14
如果您查看来自zxing http://code.google.com/p/zxing/wiki/DeveloperNotes的开发人员文档,您将看到他们明确地讨论了非基于拉丁语的字符的问题。
由于QR Code标准没有定义在QR code中指定字符编码的确切方式,因此建议仅使用所有三种标准编码(ISO-8859-1、ISO-8859-15、UTF-8)中出现的字符
发布于 2011-07-13 22:56:06
在传递编码器的提示Hashtable中,将EncoderHintType.CHARACTER_SET设置为"UTF-8"。Barry的答案是正确的,但是强制它尝试UTF-8可能更适合您。
https://stackoverflow.com/questions/6679602
复制相似问题