首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 10 CLI UTF-8编码

Windows 10 CLI UTF-8编码
EN

Stack Overflow用户
提问于 2018-02-27 19:06:02
回答 2查看 6.1K关注 0票数 3

问题:

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

在以下方面测试:

  • CMD,Powershell,Cmder on Windows 10 64位英文-斯洛文尼亚键盘布局.不成功
  • Intellij在Windows 10 64位英语语言-斯洛文尼亚键盘布局.在IDE中,成功的->可以根据需要工作,而不是CLI。
  • CMD Windows 10 64位英语语言-英语键盘.成功
  • Windows 10 64位斯洛文尼亚语言-斯洛文尼亚键盘布局.圆满成功
  • 几个Linux发行版(Ubuntu,Mint,Kali)成功

迄今已尝试过:

  • 把chcp改成chcp 65001…不成功
  • 在regedit中创建自动运行文件以强制UTF-8 .不成功
  • 不同的java编译器。不成功

样本代码:

代码语言:javascript
复制
public class Test2 {
public static void main(String[] args) {
    System.out.println("č š ž ć đ");

    }
}

CMD:

代码语言:javascript
复制
>javac -encoding UTF-8 test2.java
>java Test2
? ? ? ? ? 

其他说明:

在几台运行在不同硬件上的计算机上出现了问题。默认情况下,上述所有字符在上述所有CLI中都可以很好地工作。因此,这个问题似乎只出现在java中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-27 19:23:45

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

代码语言:javascript
复制
chcp 65001
javac -encoding UTF-8 Test2.java
java -Dfile.encoding=UTF-8 Test2

记住将Java源文件命名为类名,区分大小写.

票数 5
EN

Stack Overflow用户

发布于 2018-02-27 20:41:39

在遵循@Andreas的建议之后,我进一步探讨了这个问题,并找到了一个有效的解决方案:

第一次强制cmd使用chcp 65001 (UTF-8)跟随this link对超级用户.

其次,使用以下命令:

代码语言:javascript
复制
set JAVA_TOOL_OPTIONS =-Dfile.encoding=UTF-8
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49016189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档