我有一个应用程序,我应该能够在蓝牙打印机 Zebra iMZ320 上打印,但我遇到了 UTF-8 特定字符(Æ、Ø 或 Å)的一些问题。
我按如下方式连接到设备:
BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(macAddr);
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] { Integer.TYPE });
bSocket = (BluetoothSocket)m.invoke(device, new Object[] { Integer.valueOf(1) });
bSocket.connect();
outStream = bSocket.getOutputStream();
inStream = bSocket.getInputStream();
套接字打开后,我在 CPCL 中发送数据:
String cpclData = "! U1 SETLP 5 2 24 \r\n"+text+"\r\n";
outStream.write(cpclData.getBytes());
outStream.flush();
但是当我尝试打印提到的字符时,它会写一些异常字符。
我联系了 Zebra,他们的一位工程师写道,我应该尝试以下方法:
! 0 200 200 80 1
IN-MILLIMETERS
JOURNAL
CENTER
COUNTRY NORWAY
TEXT 4 0 0 8 COUNTRY IS NORWAY OR DENMARK
TEXT 4 0 0 15 Æ Ø Å
PRINT
但它绝对没有任何作用。