Windows 10 CLI UTF-8编码 [英] Windows 10 CLI UTF-8 encoding

查看:222
本文介绍了Windows 10 CLI UTF-8编码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题:

在使用斯洛文尼亚语键盘布局的英文版Windows 10上,所有命令行界面似乎都有显示(打印)UTF-8字符的问题,即č,š和ž,用?替换。
(我假设所有UTF-8特定字符,因为ć和đ也不起作用。)

On an english Windows 10 using slovenian keyboard layout, all command line interfaces seem to have a problem with displaying (printing) UTF-8 characters, namely č, š and ž, which are replaced with ?. (I assume all UTF-8 specific characters, since ć and đ also do not work. )

测试:


  • Windows 10上的CMD,Powershell,Cmder 64位英语 - 斯洛文尼亚语键盘
    布局...不成功

  • Intellij Windows 10上的IDEA 64位英语 - 斯洛文尼亚语键盘布局...成功 - >在IDE中根据需要工作,但不在CLI中工作。

  • CMD Windows 10 64位英语 - 英语键盘...成功

  • CMD Windows 10 64位斯洛文尼亚语 - 斯洛文尼亚语键盘布局。 ..成功

  • Linux的几个发行版(Ubuntu,Mint,Kali)......成功

  • CMD, Powershell, Cmder on Windows 10 64-bit English - Slovenian keyboard layout ... unsuccessful
  • Intellij IDEA on Windows 10 64-bit English language - Slovenian keyboard layout ... successful -> Works as needed in IDE, but not CLI.
  • CMD Windows 10 64-bit English language - English keyboard ... successful
  • CMD Windows 10 64-bit Slovenian languge - Slovenian keyboard layout ... succesful
  • Several distros of Linux (Ubuntu, Mint, Kali) ... successful

到目前为止尝试过:


  • 将chcp更改为chcp 65001 ...不成功

  • 创建自动运行regedit中的文件强制UTF-8 ...不成功

  • 不同的java编译器...不成功

示例代码:

public class Test2 {
public static void main(String[] args) {
    System.out.println("č š ž ć đ");

    }
}

CMD:

>javac -encoding UTF-8 test2.java
>java Test2
? ? ? ? ? 

其他注释:

问题出现在几台计算机在不同的硬件上运行
默认情况下,所有上述字符在上述所有CLI中都能正常工作。所以问题似乎只出现在java中。

Problem appears on several computers running on different hardware. All of the above mentioned characters work fine in all of the above mentioned CLI by default. So the problem only seems to appear with java.

推荐答案

使用 chcp 65001 然后使用运行java -Dfile.encoding = UTF-8 Test2

chcp 65001
javac -encoding UTF-8 Test2.java
java -Dfile.encoding=UTF-8 Test2

请记住在类名后面命名您的Java源文件,区分大小写。

Remember to name your Java source file after the class name, case-sensitive.

这篇关于Windows 10 CLI UTF-8编码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆