我正在调用一个错误的服务,告诉我以下字符串存在编码问题:
Universal®
据我了解,该字符串是“utf8”编码的。这是对utf8编码的正确理解吗?如果是这样,这是否表明我应该删除 utf8 编码?如果是这样,关于如何在 Java 中对 utf8 字符串进行解码有什么建议吗?
或者我错了,上面的字符串不是utf8编码的?如果是这样,有什么建议如何编码吗?
最佳答案
Java 存储字符串的方式与消息中编码字符串的方式不同。您可以尝试以下操作:
String s = "Universal®";
byte[] encoded = s.getBytes(Charset.forName("UTF-8"));
您必须捕获UnsupportedCharsetException
,但UTF-8 是标准的可用字符集。
或者您可能需要在发送 API 中设置编码,例如 HTTP Content-Type: text/plain;字符集=UTF-8
。
关于java - UTF8编码问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32525201/