У меня есть старый проект на Java, и я наверняка встретил там небольшую проблему.
вот код:
public boolean printerPrint(List<String> list) {
if (btMan != null) {
try {
// Select character code table (ESC t n) - n = 16(0x10)
btMan.getOutputStream().write(0x1B);
btMan.getOutputStream().write(0x74);
btMan.getOutputStream().write(0x10);
for (String s : list) {
byte[] byteLine = (s).getBytes(ISO_8859_1);
String line = Util.byte2HexStr(byteLine) + " 0A";
btMan.SendData(line);
}
btMan.SendData("0A 0A 0A");
} catch (Exception e) {
Timber.e(e, "printing stop failed");
}
}
return true;
}
Вот скриншот из приложения, этот счет должен быть таким же после печати.
Вот счет после печати:
Некоторые буквы не напечатаны (š, ě, č, ř, ž), но их заменили на «?».Я пытался использовать ISO8859-2 (та же проблема, что и в ISO-8859-1, но вместо замены на «?» Они были заменены некоторыми буквами, которые не являются правильными), UTF8 / UTF-8 (особенно сэто не работает вообще).
Если кто-то когда-либо встречался с этим, любой совет хорош.