Java | Windows 8 CMD UTF-8编码上的重复字符

Java | Windows 8 CMD UTF-8编码上的重复字符,java,encoding,utf-8,character-encoding,cmd,Java,Encoding,Utf 8,Character Encoding,Cmd,我试图让cmd显示UTF-8编码的文本,我终于做到了 我编写了一个包含以下代码的类,以使java写入字符以UTF-8编码: String text = "çşğüöıÇŞĞÜÖİ UTF-8 (65001)"; System.setOut(new PrintStream(System.out, true, "utf8")); System.out.println(text); 在命令行中,我在运行该类之前输入了命令chcp 65001,以更改命令

我试图让cmd显示UTF-8编码的文本,我终于做到了

我编写了一个包含以下代码的类,以使java写入字符以UTF-8编码:

        String text = "çşğüöıÇŞĞÜÖİ UTF-8 (65001)";
        System.setOut(new PrintStream(System.out, true, "utf8"));
        System.out.println(text);
在命令行中,我在运行该类之前输入了命令
chcp 65001
,以更改命令行的编码设置

无论如何,在完成所有这些工作后,我终于能够打印UTF-8编码字符。但我有一个问题:

输出应该是这样的

çşğüöıÇŞĞÜÖİ UTF-8 (65001)
相反,输出如下所示:

çşğüöıÇŞĞÜÖİ UTF-8 (65001)TF-8 (65001)
它复制了一些角色,我不知道为什么

它复制了一些角色,我不知道为什么


因为Windows控制台无法正确处理utf-8。

由于这个问题,我赢得了风滚草徽章。。