2011-07-13 26 views
2

zxing APIで適切なqrコードを生成する際に問題があります。 私はqrコードを生成することができますが、qrコードを読み込むと "äü"のような文字は正しく表示されません。zxingを使用して適切なqrコードを生成する際の問題

コード:

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

bufferedImage = MatrixToImageWriter.toBufferedImage(matrix); 

私は「AO」に続いて、次に「U」で始まる場合、その表示された正しい 誰もがなぜ知っていますか?

+0

QRコードが間違っていて、それを解読するために使用しているものではないことは確かですか? –

+0

はい私はalredyがiPhoneで3のqrコード "reader"を試しました – testerws

+0

私は[Stack Overflow:qr-code-integration-in-jasperreport]でQRコードを生成するために 'zxing'を使って答えを書きました(https:// stackoverflow .com/questions/29786226/qr-code-integration-in-jasperreport/47383846#47383846)。要件に合っていれば、それを使用することができます。 –

答えて

1

zxing http://code.google.com/p/zxing/wiki/DeveloperNotesから開発者のドキュメントを見ると、非ラテン系文字の問題について明示的に話していることがわかります。

QRコード標準では、QRコード内の文字エンコーディングを特定する正確な方法を定義していないため、3つの標準エンコーディング(ISO-8859-1、ISO-8859-15 、UTF-8)

1

エンコーダを渡すヒントのEncoderHintType.CHARACTER_SET"UTF-8"に設定します。バリーの答えは正しいが、UTF-8を試してみると強制的にうまくいくかもしれない。

+0

ハッシュテーブルのヒントのためのseanに感謝!!私はまた、文字列にUTF-8 BOMを追加する必要があったが、今は動作する!どうもありがとう – testerws

2

下記のコードからzxing apiからQRコードを読むことができます。

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()); 
1

以下のコードからzxing apiからQRコードを読み取ることができます。

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()); 
関連する問題