无法使用Zebra打印机打印UTF-8字符 [英] UTF-8 character not printing with Zebra printer

查看:752
本文介绍了无法使用Zebra打印机打印UTF-8字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在Zebra Z410标签打印机上打印波斯字符.但是由于某种原因,它正在打印??????.我要发送到打印机的ZPL代码是

I am trying to print Persian character on my Zebra Z410 label printer. But for some reason it is printing ?????. The ZPL code I am sending to the printer is

^XA
^FO50,50
^PA1,1,1,1
^A@N,50,50,E:TT0003M_.TTF^FDعاسشاتعفثه^FS
^XZ

我正在使用Zebra Setup Utilities-Open与打印机通信.请帮忙!

I am using the Zebra Setup Utilities-Open communication with printer. Please Help!!

推荐答案

您的上面的示例未指定^ CI28,它使您可以使用UTF-8而不是十六进制字段.

Your example above did not specify ^CI28 which would let you use UTF-8 instead of field hex.

^ XA

^ FO50,50

^FO50,50

^ PA1,1,1,1

^PA1,1,1,1

^ A @ N,50,50,E:TT0003M_.TTF ^ CI28 ^ FDعاسشاتعفثه^ FS

^A@N,50,50,E:TT0003M_.TTF^CI28^FDعاسشاتعفثه^FS

^ XZ

Zebra设置实用程序无法正确处理UTF-8.我刚刚使用PuTTY在网络打印机上进行了测试,并且UTF得到正确处理. SDK中还提供了有关如何使用UTF-8进行打印的示例.

Zebra Setup Utilities is not handling the UTF-8 correctly. I just tested with PuTTY to a network printer and the UTF was handled properly. There are also examples in the SDK on how to print using UTF-8.

     // Print a stored format with the given variables. This ZPL will store a format on a printer,
 // for use with example3.
 // This example also requires the ANMDS.TTF font to have been download to the printer prior to using this code.
 // ^XA^DFE:FORMAT3.ZPL
 // ^FS
 // ^FT26,223^FH^A@N,56,55,E:ANMDS.TTF^CI28^FH\^FN12"Customer Name"^FS
 // ^FT26,316^FH\^A@N,56,55,E:ANMDS.TTF^FH\^FN11"Invoice Number"^FS
 // ^FT348,73^FH^A@N,39,38,E:ANMDS.TTF^FH\^FN13"Vendor Name^FS
 // ^BY2,4^FT643,376^B7N,4,0,2,2,N^FH\^FDSerial Number^FS
 // ^FO5,17^GB863,379,8^FS
 // ^XZ

 private void example3() throws ConnectionException {
     Connection connection = new TcpConnection("192.168.1.32", TcpConnection.DEFAULT_ZPL_TCP_PORT);
     try {
         connection.open();
         ZebraPrinter printer = ZebraPrinterFactory.getInstance(connection);
         Map<Integer, String> vars = new HashMap<Integer, String>();
         vars.put(12, "东风伟世通汽车饰件系统有限公司"); // Customer Name
         vars.put(11, "订单号"); // Invoice Number
         vars.put(13, "供应商名称"); // Vendor Name
         printer.printStoredFormat("E:FORMAT3.ZPL", vars);
     } catch (ConnectionException e) {
         e.printStackTrace();
     } catch (ZebraPrinterLanguageUnknownException e) {
         e.printStackTrace();
     } finally {
         connection.close();
     }
 }

}

这篇关于无法使用Zebra打印机打印UTF-8字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆