打印重音(UTF-8)Zebra cpcl Java / Android

时间:2014-12-16 11:48:14

标签: java android zebra-printers

我正在尝试使用cpcl语言在ZEBRA Imz320中打印,但我在加重时遇到了一些问题(UTF-8)

我试过了:

myCpclContentLabel.getBytes("CP1251");

而不是工作

我阅读了此文档CPCL command manual

O. COUNTRY/CODE PAGE Command
The COUNTRY control command substitutes the appropriate character set for the specified country,
Format {command} {name}
Command & option
{command} COUNTRY
{name} USA
GERMANY
FRANCE
SWEDEN
SPAIN
NORWAY
CHINA (double byte encoding)
ITALY
CP850
UK
BIG5 (Traditional Chinese; double byte encoding)
JAPAN-S (Simplified Japanese fonts; double byte encoding

但我不知道用什么来打印正确的文字(UTF-8)

3 个答案:

答案 0 :(得分:2)

我已经在BluetoothSocket的OutputStream中使用ISO-8859-1编码来解决它,用于打印西班牙语字符。

      String cpclData = " ! 0 200 200 1240 1\n" +
      "TEXT 7 3 300 200 Dirección \r\n"

      outputStream.write(cpclData.getBytes("ISO-8859-1")); 

答案 1 :(得分:0)

你有什么理由不能使用ZPL吗? ZPL原生支持UTF-8。

答案 2 :(得分:0)

使用字符编码String.getBytes(String charsetName)将String转换为字节数组不足以让您的打印机接受编码。它只保证第一部分:当转换为字节时,Java中的String不会被破坏。

最后一步是使用CPCL ENCODING命令。以下是manual

中的代码示例

! 0 200 200 200 1 ENCODING GB18030 TEXT GBUNSG24.CPF 0 20 30 Font: GBUNSG24 ‚t‚u ENCODING ASCII TEXT 7 0 20 80 Font 7, Size 0 PRINT