Problemi e risoluzione

Il lettore di codici a barre scrive caratteri sbagliati: cause e soluzione

Se il lettore scrive ç invece di :, un apostrofo invece del trattino o - invece della barra, il lettore è impostato sulla tastiera USA mentre il computer usa quella italiana. Lettere e cifre restano corrette, i simboli no. La soluzione è impostare il lettore sul layout "Italiano" con il codice di programmazione del manuale, oppure usare la modalità ALT.

Perché succede: il lettore preme tasti, non scrive caratteri

Un lettore in emulazione tastiera non invia al computer la lettera "-": invia il codice di un tasto fisico (lo scan code USB HID), cioè "il tasto in quella posizione della tastiera". È poi il sistema operativo a tradurre la posizione in carattere, usando il layout di tastiera attivo.

Il lettore deve quindi sapere quale layout usa il computer, per scegliere il tasto giusto. Quasi tutti escono di fabbrica impostati su USA. Sulla tastiera americana il trattino sta a destra dello 0; sulla tastiera italiana, in quella stessa posizione, c'è l'apostrofo. Il lettore preme "il tasto a destra dello 0" convinto di scrivere un trattino, Windows legge la tastiera italiana e scrive '.

Lettere e cifre non cambiano perché la tastiera italiana è QWERTY come quella USA e le cifre sono nella riga superiore senza Maiusc in entrambe. Per questo l'errore passa inosservato con gli EAN (solo cifre) e salta fuori con URL, codici articolo con trattini, lotti, indirizzi email.

Esempi reali: cosa leggi e cosa arriva

Ecco cosa arriva sul PC con lettore impostato su USA e Windows o macOS su layout italiano.

QR code con un indirizzo web https://example.com/a-b:

Atteso:   https://example.com/a-b
Ricevuto: httpsç--example.com-a'b

Code 39 con codice articolo AB-12/3:

Atteso:   AB-12/3
Ricevuto: AB'12-3

QR con un indirizzo email info@negozio.it e un parametro ?id=42:

Atteso:   info@negozio.it
Ricevuto: info"negozio.it

Atteso:   https://example.com/p?id=42
Ricevuto: httpsç--example.com-p_idì42

Codice lotto con trattino basso e cancelletto, LOT_24#5:

Atteso:   LOT_24#5
Ricevuto: LOT?24£5

Il punto, la virgola, il punto esclamativo, $ e % non cambiano: per questo un URL "sembra quasi giusto" e confonde.

Tabella di conversione: lettore USA, PC italiano

Questa tabella ti permette di riconoscere il problema al volo: se vedi i caratteri della colonna destra al posto di quelli della colonna sinistra, la diagnosi è certa.

Carattere inviato da un lettore impostato su tastiera USA e carattere ottenuto con layout italiano
Nel codice (USA)Sul PC (italiano)Nel codice (USA)Sul PC (italiano)
-'_?
/-?_
=ì+^
;ò:ç
'à"°
[è{é
]+}*
\ù|§
`\<;
@">:
#£&/
*(()
)=Invariati: lettere, cifre, spazio, . , ! $ %

Il caso opposto (lettore su italiano, PC su "Inglese Stati Uniti") produce errori diversi: per esempio il trattino diventa / e la barra diventa &. Il rimedio è lo stesso: allineare i due layout.

Il caso AZERTY: quando sbagliano anche le cifre

Se le cifre escono sbagliate, il layout del computer non è italiano ma probabilmente francese (AZERTY) o belga. Sulla tastiera francese le cifre della riga superiore si ottengono con Maiusc; senza Maiusc quei tasti producono simboli. Un lettore impostato su USA che invia un EAN produce allora:

Atteso:   8001234567890
Ricevuto: _àà&é"'(-è_çà

Nello stesso scenario si scambiano anche alcune lettere (A con Q, Z con W). Succede con PC acquistati all'estero, con un layout aggiunto per errore (in Windows la combinazione Alt+Maiusc o Win+Spazio cambia layout senza che te ne accorga) o in postazioni condivise. Controlla la lingua di input nella barra delle applicazioni prima di toccare il lettore.

Soluzione rapida: tre strade

  1. Imposta il lettore sulla tastiera italiana. È la soluzione corretta nella maggior parte dei casi. Nel manuale (Product Reference Guide o User Guide) cerca la sezione "Keyboard Country", "Country Layout" o "Paese tastiera" e scansiona il codice "Italian" o "Italia". La procedura è in impostare la tastiera italiana.
  2. Usa la modalità ALT. Molti lettori possono inviare ogni carattere come combinazione Alt + codice sul tastierino numerico, che funziona su Windows indipendentemente dal layout. È utile su PC con layout diversi, ma è più lenta e non funziona su macOS né su molti tablet. Dettagli in modalità ALT e tastiera universale.
  3. Allinea il computer al lettore. Puoi impostare Windows su "Inglese (Stati Uniti)", ma rovina la tastiera fisica italiana di chi lavora alla postazione: è accettabile solo su chioschi o PC dedicati.

Non cercare di "correggere" i caratteri con sostituzioni nel gestionale (per esempio trasformare ' in -): appena cambia un PC o un lettore il dato torna sbagliato, e i caratteri accentati prodotti per errore possono finire nell'anagrafica.

Diagnosi sistematica se la tabella non spiega l'errore

Scansiona il codice problematico nel test lettore codici a barre: lo strumento mostra ogni carattere ricevuto con il suo codice e segnala se l'errore corrisponde a un disallineamento di layout. Poi confronta con queste altre cause:

Altri motivi per cui i caratteri escono diversi
Cosa vediCausaCosa fare
lOTTO invece di LottoBloc Maiusc attivo sul PCDisattivalo o abilita nel lettore la gestione automatica del blocco maiuscole: vedi maiuscole e minuscole
Caratteri in più all'inizio, tipo ]E0 o una letteraIdentificatore di simbologia o prefisso attivoDisattivalo se il programma non lo gestisce: vedi identificatore AIM
Simboli strani o nulla in modalità ALTBloc Num disattivato o app che non accetta Alt+codiceAttiva Bloc Num, oppure torna al layout italiano
Caratteri mancanti in punti casualiProgramma o desktop remoto troppo lentoVedi caratteri mancanti
Accenti sbagliati in un QR con testo italianoCaratteri non presenti sul layout o codifica UTF-8 non gestita dal lettoreProva la modalità ALT o un'impostazione Unicode se il modello la prevede; verifica sul manuale

Caso tipico: un magazzino legge etichette Code 128 con codici del tipo PAL/0042-A. Sul vecchio PC tutto funzionava, sul nuovo arriva PAL-0042'A. Il vecchio PC aveva un layout USA aggiunto e attivo; il nuovo è solo italiano. Impostando il lettore su "Italiano" il dato torna corretto su entrambi i PC configurati in italiano.

Prevenzione

  • Configura la tastiera italiana sul lettore appena lo togli dalla scatola, insieme al suffisso: un minuto ora evita errori silenziosi in anagrafica dopo.
  • Dopo un ripristino di fabbrica il layout torna quasi sempre USA: ricordati di reimpostarlo.
  • Rimuovi da Windows i layout di tastiera che non usi, così una combinazione di tasti accidentale non cambia lingua.
  • Prima di mettere in produzione un nuovo tipo di etichetta, prova un codice con tutti i simboli che userai. Puoi crearne uno con il generatore di codici a barre.

Domande frequenti

Perché gli EAN funzionano e i QR no?

Gli EAN contengono solo cifre, che sono nella stessa posizione sulle tastiere USA e italiana. I QR contengono spesso URL con : e /, che sono in posizioni diverse.

Sul Mac la modalità ALT non funziona. Perché?

macOS non supporta l'inserimento di caratteri con Alt e codice numerico come Windows. Sul Mac imposta il lettore sul layout italiano, lo stesso selezionato nelle impostazioni Tastiera.

Il mio lettore economico non ha il layout italiano nel manuale. Cosa faccio?

Cerca una versione più recente del manuale per il tuo modello o una voce chiamata "Italy" tra i Paesi. In alternativa usa la modalità ALT su Windows. Su questi modelli le opzioni cambiano tra lotti di produzione: controlla il manuale fornito con il tuo esemplare.

Su Android e iPad vale lo stesso discorso?

Sì: anche i tablet traducono la posizione del tasto con il layout della tastiera fisica impostato nel sistema. Nelle impostazioni della tastiera fisica scegli lo stesso layout del lettore.

Fonti e riferimenti

  • USB Implementers Forum, HID Usage Tables, pagina Keyboard/Keypad: definizione degli usage per posizione del tasto.
  • Product Reference Guide dei produttori, sezioni "Keyboard Country" e "ALT mode": Zebra, Honeywell, Datalogic, Newland.
  • Supporto Microsoft sulla gestione dei layout di tastiera in Windows: support.microsoft.com.
  • Supporto Apple sulle sorgenti di input della tastiera in macOS: support.apple.com.

Altro in Problemi e risoluzione

Tutta la sezione Problemi e risoluzione