我正在编写一个从另一个服务器获取数据的Java服务器。不幸的是,它抛出的字符串的一部分不能被程序“解析”。System.out.print将其打印为问号?
我的客户的JSON解析器也无法解析这个可恶的问号符号。有没有人知道我怎么删除它?
使用?符号尝试str.replace不起作用。
发布于 2013-06-26 15:31:33
好的,这对我很有效:
stringName.replaceAll("[^\\x00-\\x7F]", "");这是来自stackoverflow中的某个答案,但我现在找不到它。
发布于 2013-06-26 15:17:14
这看起来像是编码问题。您的应用程序使用一种编码,而服务器使用另一种编码。
使用Charset类将是您的答案。在将接收到的数据转换为字符串时使用它。很可能您必须在Reader构造函数中指定它,尽管我不能在没有任何代码的情况下这样说。
下面是指向相应javadoc的链接:InputStreamReader(InputStream, Charset)
https://stackoverflow.com/questions/17313662
复制相似问题