首页 > 解决方案 > 将外来字符写入.json文件,eclipse vs jar

问题描述

使用 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用来构建罐子。

请帮助我解决方法。谢谢。

标签: javajsoneclipseutf-8jar

解决方案


推荐阅读