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