Java Unicode字符显示为??关于debian

Java Unicode字符显示为??关于debian,java,debian,gson,Java,Debian,Gson,我正在解析从Minecraft服务器的ping请求接收到的JSON。该代码在Windows上运行良好,并提供以下输出: §4§l> §f§l> §4§l> §7-=[ §5§lMythCraft §6§lNetwork §7]=- §4§l> §f§l> §4§l> §7-=[ §b§lFaction 1 Has Reset §e➸ §c§lFresh Map! §7]=- 但是,在我的Debian VPS上,将输出以下内容: ??4??l> ??f?

我正在解析从Minecraft服务器的ping请求接收到的JSON。该代码在Windows上运行良好,并提供以下输出:

§4§l> §f§l> §4§l> §7-=[ §5§lMythCraft §6§lNetwork §7]=- §4§l> §f§l> §4§l> §7-=[ §b§lFaction 1 Has Reset §e➸ §c§lFresh Map! §7]=-
但是,在我的Debian VPS上,将输出以下内容:

??4??l> ??f??l> ??4??l> ??7-=[ ??5??lMythCraft ??6??lNetwork ??7]=- ??4??l> ??f??l> ??4??l> ??7-=[ ??b??lFaction 1 Has Reset ??e??? ??c??lFresh Map! ??7]=-
我认为这是一个编码问题。我说得对吗?我怎样才能修好它

ping代码是。

我猜出来了

我机器上的默认字符映射不是UTF-8,因此它无法正确处理字符,并替换为

为了修复它,我将字符串
json
的定义更改为:

String json = new String(in, Charset.forName("UTF-8"));

这样,返回的字符串将以UTF-8而不是默认编码进行处理。

作为提醒,当选项可用时,请接受您的答案。