我正在编写一个从另一台服务器获取数据的 Java 服务器。不幸的是,它抛出的部分字符串无法被程序“解析”。System.out.print
将其打印为问号?
我的客户的 JSON 解析器也无法解析这个可怜的问号符号。有谁知道我可以如何删除它?
尝试str.replace
使用该?
符号不起作用。
它看起来像一个编码问题。您的应用程序使用一种编码,而服务器使用另一种编码。
使用Charset
课程将是您的答案。将接收到的数据转换为字符串时使用它。很可能您必须在Reader
构造函数中指定它,尽管我不能说没有任何代码。
这是相应 javadoc 的链接:InputStreamReader(InputStream, Charset)
Okay this worked for me:
stringName.replaceAll("[^\\x00-\\x7F]", "");
This was from some answer in stackoverflow but I can't find it now.