2

我正在编写一个从另一台服务器获取数据的 Java 服务器。不幸的是,它抛出的部分字符串无法被程序“解析”。System.out.print将其打印为问号?

我的客户的 JSON 解析器也无法解析这个可怜的问号符号。有谁知道我可以如何删除它?

尝试str.replace使用该?符号不起作用。

4

2 回答 2

4

它看起来像一个编码问题。您的应用程序使用一种编码,而服务器使用另一种编码。

使用Charset课程将是您的答案。将接收到的数据转换为字符串时使用它。很可能您必须在Reader构造函数中指定它,尽管我不能说没有任何代码。

这是相应 javadoc 的链接:InputStreamReader(InputStream, Charset)

于 2013-06-26T07:17:13.920 回答
2

Okay this worked for me:

stringName.replaceAll("[^\\x00-\\x7F]", "");

This was from some answer in stackoverflow but I can't find it now.

于 2013-06-26T07:31:33.327 回答