【问题标题】:Print accentuation (UTF-8) Zebra cpcl Java/Android打印重音 (UTF-8) Zebra cpcl Java/Android
【发布时间】:2018-02-09 09:46:01
【问题描述】:

我正在尝试使用 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)

【问题讨论】:

    标签: java android zebra-printers


    【解决方案1】:

    我已经在 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")); 
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的,我已经在 CPCL 中完成了很多报告,我不可能重做所有这些。
      【解决方案3】:

      使用字符编码String.getBytes(String charsetName) 将您的字符串转换为字节数组不足以使您的打印机接受该编码。它只是保证第一部分:您在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

      【讨论】:

        猜你喜欢
        • 2014-02-16
        • 1970-01-01
        • 2014-12-07
        • 1970-01-01
        • 2012-01-13
        • 2013-06-28
        • 1970-01-01
        • 2022-01-05
        • 2012-04-04
        相关资源
        最近更新 更多