2009-10-23 12 views
8

Sto provando a generare QRCode UTF-8 in modo da poter eseguire encore di accenti e caratteri Unicode.Unicode Problemi di codifica e decodifica in QRCode

Per provarlo, io sto usando molti soluzione di decodifica:

  1. http://zxing.org/w/decode.jspx - Il progetto ZXing utilizzato anche in Android
  2. http://www.drhu.org/QRCode/QRDecoder.php - un decoder PHP
  3. http://zbar.sf.net - Il lettore di codici a barre ZBar - OpenSource e C progetto per embedded

Tutti mi danno sempre lo stesso risultato.

Si può provare this image works well with caratteri Unicode.

Ma se sto cercando di utilizzare zxing o Google Chart API per generare il QRCode, non posso decodificarlo correttamente.

Ho provato questo:

  1. http://chart.apis.google.com/chart?cht=qr&chs=200x200&choe=SHIFT_JIS&chl=R%C3%A9my+Hubscher
  2. http://chart.apis.google.com/chart?cht=qr&chs=200x200&choe=ISO-8859-1&chl=R%C3%A9my+Hubscher
  3. http://chart.apis.google.com/chart?cht=qr&chs=200x200&choe=UTF-8&chl=R%C3%A9my+Hubscher

Ma tutto senza successo.

Sai come posso fare? Sai quale codifica è utilizzata per l'immagine di lavoro?

risposta

10

La soluzione che si presenta è quella di codificare il testo in UTF-8 e aggiungere una distinta base per specificare che la stringa sia effettivamente in UTF-8.

Qui funziona:

+1

Potrebbe spiegare esattamente che cosa avete fatto per risolverlo? –

+0

Devi aggiungere una BOM: http://en.wikipedia.org/wiki/Byte_order_mark. Basta stampare '' \ xEF \ xBB \ xBF'' prima della stringa. – Natim

+0

Intendi questo? NSString * qrString = [NSString stringWithFormat: @ "\ xEF \ xBB \ xBF% @", symbol.data]; symbol.data è la stringa che ZBar SDK fornisce dopo la scansione. Questo non funziona per me a proposito. –

Problemi correlati