我正在使用热敏打印机打印一些文字。一切正常,除非我尝试打印垂直条字符|
我的打印机显示Ö
,所以我认为错误在这部分:
text=msg.getBytes("UTF8");
但我不知道为什么;如果我使用UTF-8字符集,它似乎应该工作。怎么了?
我尝试过(“UTF-8”),(“UTF8”),(“ISO8859-1”),(“ISO88591”),(“ISO-8859-1”),但是一样事情发生在每个人身上。
更新
这就是我要打印的内容(在Android设备中)
这就是我正在打印机上的东西
答案 0 :(得分:2)
看起来您的热敏打印机配置为使用古老的字符编码之一,其中“不常见”字符 - 括号,大括号,竖条,...... - 被“国家字符”替换,例如ä,ö ü和ß在德国。当设备设置为使用这些编码时,无法输出替换的字符。
查看热敏打印机的用户手册。必须有一种方法可以将字符映射更改为标准ASCII。例如,Linux控制台具有转义码"\033(B"
以返回通常的ASCII编码。