Hello.
I have a Zebra ZQ220 CPCL printer. I designed my receipt like below. I trimmed it for posting here.
! 0 200 200 1550 1
ENCODING ASCII
T TH12.CPF 0 125 180 Tahsilat Makbuzu
T TH8.CPF 0 1 225 Tarih : 01.01.2022 Makbuz No : 45879
T TH8.CPF 0 1 260 CARİ : CARİ KOD
T TH8.CPF 0 0 285 ABCDEFGH şŞğĞüÜöÖçÇiİıI
PRINT
When i print this on my windows computer, from Zebra Setup Utilities / Direct Printer Communication or from a test application i coded in C#, i can print and see Turkish characters without an issue.
When i try to print same receipt from a Xamarin.Forms mobile application, i lose Turkish characters.
The documentation and the source code provided with Zebra Link OS SDK uses
private const string TestLabelCpcl = "! 0 200 200 406 1\r\n" +
"ON-FEED IGNORE\r\n" +
"BOX 20 20 380 380 8\r\n" +
"T 0 6 137 177 TESTÖÇŞİĞÜG\r\n" +
"PRINT\r\n";
And i use it like that, just change this string with the string above.
The implementation in GetTestLabelBytes() in the example code is : return Encoding.UTF8.GetBytes(TestLabelCpcl)
When i use UTF8, Turkish characters are printed wrong. Result is the same with Encoding.Default.
When i use Encoding.ASCII, Turkish characters printed as ?.
When i use Encoding.GetEncoding("ISO-8859-1"), Turkish characters are converted like, Ş to S, Ğ to G, but i can see the characters like Ç, Ö and Ü are printed correctly.
Which encoding should i use for printing from a Xamarin.Forms application? Is there any Zebra SDK spesific implementation for encoding ?
2 Replies
Hi,
Have you tried encoding: ISO 8859-9 ?
Hello,
Yes I tried encoding ISO-8859-9 and no luck.