Bluetooth プリンター 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 に問い合わせたところ、Zebra のエンジニアの 1 人が次のことを試してみるべきだと書いてきました。
! 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
しかし、それはまったく何もしません。