我有一个应用程序,需要在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
但它完全没有任何作用。