2016-09-29 5 views
1

In meiner App erzeuge ich einen QR-Namen in Arabisch und dann scannen und ich zxing Bibliothek zu generieren, aber es scheint, dass zxing Bibliothek nicht unterstützt arabische Sprache, denn wenn ich den generierten Namen scannen gibt es mir ???? . Was ist die Lösung?Erstelle arabischen QR-Code

Dies ist mein Code zu generieren:

BitMatrix bitMatrix = multiFormatWriter.encode(text2QR, BarcodeFormat.QR_CODE, 500, 500); 
BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); 
bitmap = barcodeEncoder.createBitmap(bitMatrix); 
imageView = (ImageView) findViewById(R.id.imageView); 
imageView.setImageBitmap(bitmap); 

Antwort

1

I-Lösung gefunden:

MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); 
Map<EncodeHintType, Object> hintMap = new EnumMap<EncodeHintType, Object>(EncodeHintType.class); 

hintMap.put(EncodeHintType.CHARACTER_SET, "UTF-8"); 
hintMap.put(EncodeHintType.MARGIN, 1); /* default = 4 */ 
hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); 

BitMatrix bitMatrix = multiFormatWriter.encode(text2QR, BarcodeFormat.QR_CODE, 500, 500, hintMap); 
BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); 
bitmap = barcodeEncoder.createBitmap(bitMatrix); 
imageView = (ImageView) findViewById(R.id.imageView); 
imageView.setImageBitmap(bitmap); 
0

vergessen Sie nicht, Textcodierung einzustellen. Hashtable hints = new Hashtable(); hints.put(EncodeHintType.CHARACTER_SET, "utf-8");

so, basierend auf Ihren Code sollte es sein multiFormatWriter.encode(text2QR, BarcodeFormat.QR_CODE, 500, 500, hints);

+0

funktionierte nicht, das gleiche Problem –

+0

@MarkMamdouh wie entschlüsseln Sie die codierte QRCode? Ist es möglich, dass der Scanner/Reader Unicode/Arabisch nicht unterstützt? – hakim

+0

Ich versuchte arabisch zu lesen und es funktionierte, aber das Problem besteht darin, es zu erzeugen –