碰到中文乱码,引起的原因一般为,在编写程序的时候的编码方式与查看的时候的编码方式不一致,从而导致了中文乱码。
碰到这种问题,首先要做的就是查看自己编码方式,以String 为例
String demo = "中文测试";
System.out.println(demo.getBytes(StandardCharsets.UTF_8));
System.out.println(demo.getBytes(StandardCharsets.ISO_8859_1));
System.out.println(demo.getBytes(StandardCharsets.GBK));
......
查看哪一个结果与原字符串相等,那么您的编码方式就是那一种。然后在写入到输出流的时候,直接
outputStream.write(demo.getBytes(StandardCharsets.UTF_8));
就可以了。解决此类问题的核心是要知道自己当前编码的这个字符串是什么编码格式,然后需要的是什么编码格式。