Ñ e acentos saem errados na impressão ZPL: como corrigir
Números e letras sem acento saem certos, mas España vira España ou Café vira Café. Isso costuma indicar uma diferença entre a codificação enviada e a interpretada pela impressora. Se aparecem quadradinhos ou espaços, também é preciso verificar a fonte.
Três pontos precisam estar alinhados
Envie bytes UTF-8, coloque ^CI28 antes dos campos de texto e use uma fonte com os caracteres necessários. ^CI28 seleciona a interpretação dos bytes: não converte um arquivo Windows-1252 nem recupera um texto que já chega corrompido.

1. Identifique o sintoma
Se aparece España, procure uma conversão incorreta do texto: esses caracteres são uma pista, não uma prova de onde ocorreu o erro. Um quadradinho, ponto de interrogação ou espaço pode indicar um caractere ausente na fonte ou perdido antes da impressão. Se a etiqueta mostra literalmente ^XA ou ^FD, consulte o guia de texto ilegível no final da página.
2. Envie UTF-8 e declare ^CI28
Abra o arquivo como UTF-8 e confira se contém España, não España. No aplicativo que envia a impressão, codifique o texto em UTF-8 uma única vez e verifique se o driver ou serviço de impressão não faz outra conversão depois. Coloque ^CI28 no início de cada formato e confira se nenhum ^CI posterior muda a codificação antes do campo afetado. Resolva entidades HTML e escapes JSON antes de montar o ZPL.
3. Imprima uma etiqueta mínima
Este exemplo usa a fonte 0 e uma área de aproximadamente 60 × 40 mm a 203 DPI. Imprima pelo mesmo canal que apresenta o erro e compare o resultado com o texto esperado. A prévia ajuda a conferir conteúdo e disposição, mas não comprova quais bytes chegam à Zebra nem quais caracteres sua fonte contém.
Exemplo com texto UTF-8
^XA
^CI28
^PW480
^LL320
^LH0,0
^FO24,30^A0N,28,28^FDEspaña - Café^FS
^FO24,85^A0N,28,28^FDá é í ó ú ñ ü^FS
^XZResultado esperado
España - Café
á é í ó ú ñ ü
4. Isole o envio com ^FH
O segundo teste representa os bytes UTF-8 em hexadecimal e contém apenas caracteres ASCII. ^FH ativa os escapes para o próximo campo; o indicador padrão é o sublinhado. Repita ^FH em cada campo que precisar dele. Se esta versão funciona e a primeira não, investigue a codificação do arquivo e o envio. Se ambas falham, confira também a fonte, o suporte do firmware e os comandos acrescentados pelo aplicativo.
A mesma primeira linha com bytes hexadecimais
^XA
^CI28
^PW480
^LL320
^LH0,0
^FO24,30^A0N,28,28^FH^FDEspa_C3_B1a - Caf_C3_A9^FS
^XZResultado esperado
España - Café
Em UTF-8, ñ ocupa dois bytes: C3 B1. _F1 não é um ñ válido em UTF-8. Copie o teste hexadecimal para o canal de envio à impressora sem converter os escapes novamente.
| Caractere | Bytes UTF-8 | Dentro de ^FH / ^FD |
|---|---|---|
| ñ | C3 B1 | _C3_B1 |
| é | C3 A9 | _C3_A9 |
| á | C3 A1 | _C3_A1 |
| ü | C3 BC | _C3_BC |
5. Confira a fonte se faltarem caracteres
Mantenha ^CI28 e teste uma fonte que contenha os glifos necessários. Uma fonte Unicode baixada pode ser selecionada com ^A@ ou associada por ^CW, seguindo a documentação do equipamento. Em impressoras antigas, confirme se o firmware suporta ^CI28. Depois teste nomes e endereços reais: corrigir ñ e é não garante que a mesma fonte cubra todos os sistemas de escrita.
Perguntas frequentes
Onde colocar ^CI28?
Depois de ^XA e antes dos campos com texto UTF-8. Declare em cada formato para não depender do estado deixado por outro trabalho.
Por que ^CI28 não corrige España?
O texto pode já estar corrompido ou continuar sendo enviado em outra codificação. Corrija a origem e confira os bytes entregues pelo aplicativo.
^FH substitui ^CI28?
Não. ^FH representa bytes por meio de escapes; ^CI28 informa como interpretá-los. O exemplo precisa dos dois.
Preciso mudar velocidade ou intensidade de impressão?
Não para corrigir uma codificação. Se as substituições de caracteres são constantes, verifique texto, codificação e fonte. Defeitos físicos de impressão exigem outro diagnóstico.
Guias relacionados
A Zebra imprime texto ilegível ou comandos ZPLDocumentação oficial da Zebra
Sobre o autor
Eduard Diaz
Eduard Diaz é técnico de TI (desenvolvimento) na S-IE, parceira oficial da Zebra com mais de 20 anos oferecendo serviços de identificação e etiquetagem. Ele desenvolve e mantém o EditorZPL para facilitar o trabalho com ZPL e impressoras de etiquetas Zebra.
s-ie.cat