0

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

text=msg.getBytes("UTF8");

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

我用 ("UTF-8"), ("UTF8"), ("ISO8859-1"), ("ISO88591"), ("ISO-8859-1") 尝试过,但同样的事情发生在每个。

更新

这就是我喜欢打印的内容(在 Android 设备中) 在此处输入图像描述

这就是我在打印机上得到的 在此处输入图像描述

4

1 回答 1

2

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

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

于 2013-06-05T20:42:01.913 回答