正确的charset为|

时间:2013-06-05 20:11:24

标签: java android string text character-encoding

我正在使用热敏打印机打印一些文字。一切正常,除非我尝试打印垂直条字符|我的打印机显示Ö,所以我认为错误在这部分:

text=msg.getBytes("UTF8");

但我不知道为什么;如果我使用UTF-8字符集,它似乎应该工作。怎么了?

我尝试过(“UTF-8”),(“UTF8”),(“ISO8859-1”),(“ISO88591”),(“ISO-8859-1”),但是一样事情发生在每个人身上。

更新

这就是我要打印的内容(在Android设备中) enter image description here

这就是我正在打印机上的东西 enter image description here

1 个答案:

答案 0 :(得分:2)

看起来您的热敏打印机配置为使用古老的字符编码之一,其中“不常见”字符 - 括号,大括号,竖条,...... - 被“国家字符”替换,例如ä,ö ü和ß在德国。当设备设置为使用这些编码时,无法输出替换的字符。

查看热敏打印机的用户手册。必须有一种方法可以将字符映射更改为标准ASCII。例如,Linux控制台具有转义码"\033(B"以返回通常的ASCII编码。