Java 正确的字符集|

Java 正确的字符集|,java,android,string,text,character-encoding,Java,Android,String,Text,Character Encoding,我正在用热敏打印机打印一些文本。一切正常,但当我尝试打印垂直条形字符时,我的打印机显示Ö,因此我认为错误在这一部分: text=msg.getBytes("UTF8"); 但我不知道为什么;如果我使用的是UTF-8字符集,它似乎应该可以工作。怎么了 我试过使用(“UTF-8”)、(“UTF8”)、(“ISO8859-1”)、(“ISO88591”)、(“ISO-8859-1”),但每种情况都是一样的 更新 这是我喜欢打印的内容(在Android设备中) 这就是我从打印机上得到的 您的热敏打印

我正在用热敏打印机打印一些文本。一切正常,但当我尝试打印垂直条形字符时,我的打印机显示
Ö
,因此我认为错误在这一部分:

text=msg.getBytes("UTF8");
但我不知道为什么;如果我使用的是UTF-8字符集,它似乎应该可以工作。怎么了

我试过使用(“UTF-8”)、(“UTF8”)、(“ISO8859-1”)、(“ISO88591”)、(“ISO-8859-1”),但每种情况都是一样的

更新

这是我喜欢打印的内容(在Android设备中)

这就是我从打印机上得到的

您的热敏打印机似乎配置为使用一种古老的字符编码,其中“不常见”字符为括号、大括号、竖条等被“民族特征”取代,例如在德国的ä、öü和ß。当设备设置为使用这些编码时,无法输出替换的字符


请参阅热敏打印机的用户手册。必须有办法将字符映射更改为标准ASCII。例如,Linux控制台使用转义码
“\033(B”
”返回到通常的ASCII编码。

您是否缺少破折号?…(“UTF-8”)不,我一直在尝试使用(“UTF-8”)、(“UTF8”)、(“ISO8859-1”)、(“ISO-8859-1”)和(“ISO-8859-1”)等等……QWERTZ键盘(德国)上仍然出现“Ö”可能是语言问题ö可能是管道字符isHave you try getBytes(“ASCII”)?我更新了我的答案,现在你可以看到我在做什么了是的,一旦apo时间工作正常(大约2个月),但我不记得我做了什么更改,就在昨天我意识到了这个问题……我得到了消息的字节,然后从字节[]重建一个字符串…字符串有3 | | |,所以,问题不是字符集。正如你所说,是打印机…我将继续检查,谢谢。谢谢,你有原因,问题是打印机的字符集,我的打印机有14个内部字符集,我必须选择USA字符集…这是十进制的esc/pos命令
{27,87,0}