Zebra printer printing UTF-8 character as two ASCII characters

Viewed 697

Printing to a Zebra ZQ510 using "line_print" mode on continuous feed receipt paper.

! U1 setvar "ezpl.media_type" "continuous"  \r\n  
! U1 setvar "device.languages" "line_print" \r\n 
! U1 ENCODING UTF-8  \r\n
! U1 SETLP 5 0 28  \r\n
! U1 PAGE-WIDTH 580  \r\n
! U1 BEGIN-PAGE \r\n
Has the person to be vaccinated ever had      \r\n
Guillain-Barré syndrome?: \r\n
! U1 END-PAGE \r\n

The above commands are output to the printer connection using this Objective-C code to encode the binary data as UTF-8:

-(void) printCommands: (NSString*) tPrintCommands {
    ...
    [aPrinterConn write:[tPrintCommands dataUsingEncoding:NSUTF8StringEncoding] error:&aError];
    ...
}

But instead of "Barré", I get "Barré" on the printout. Seems the Unicode "é" is being treated as 2 separate characters by the printer.

I have tried substituting ! U1 ENCODING UTF-8 \r\n with ! U1 COUNTRY UTF-8 \r\n and I have positioned ! U1 ENCODING UTF-8 \r\n before and after BEGIN-PAGE. Same result every time.

0 Answers
Related