使用eclipse IDE进行测试,以使用Java将数据写入带有少量外来(中文,印地语)字符的.json和.txt文件中。我可以成功写入.txt,其中.json显示ascii字符。 代码段:
try(BufferedWriter br = new BufferedWriter(new FileWriter(new File("test.json")))) {
JSONObject obj = new JSONObject();
obj.put("key", "Hello, ओ ो ु ऋ 样品");
String str = obj.toJSONString();
System.out.println(str);
br.write(str);
br.close();
} catch (Exception e) {
e.printStackTrace();
}
.txt的输出:{"key":"Hello, ओ ो ु ऋ 样品"}
.json的输出:{"key":"Hello, ओ ो à¥� ऋ æ ·å“�"}
尝试使用DataOutputStream
写入数据。但是结果是一样的。
在解码时,它可以解码为相同的外来字符并且看起来不错。
在构建jar时,与运行.jar文件相同不会产生相同的结果。写作和阅读都以ascii显示。是的,我知道在eclipse中文件保存为utf-8,这有助于编译。顺便说一下,我正在使用maven
来构建罐子。
请帮助我解决问题。谢谢。