gpt4 book ai didi

java - 无法在命令提示符下处理特殊字符

转载 作者:行者123 更新时间:2023-11-30 09:46:30 27 4
gpt4 key购买 nike

当我尝试在 Windows 命令提示符下执行它们时,我无法处理 java 文件中的特殊字符,例如(–、'、£ 等)。

例子:

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Mangifera indica – the common mango");
}
}

预期输出:Mangifera indica——普通芒果

收到的输出:Mangifera indica ΓÇô the common mango

我相信这是某种 unicode 问题,我非常想在命令提示符下运行它,有没有办法解决它?

最佳答案

使用这个小程序,您可以“暴力”检查控制台的编码。您的输入是 ,导致输出 ΓÇô

该程序将通过尝试所有可用的字符集来生成 ΓÇô 来模拟所有错误的编码输出,它只是将 的 UTF-8 字节重新编码为另一个错误的字符集:

String s="–";
byte[] b=s.getBytes("UTF-8");
for (Charset charset:Charset.availableCharsets().values())
{
String p=new String(b,charset.name());
if ("ΓÇô".equals(p))
System.out.println(charset.aliases()+": "+p);
}

输出:

[ibm-437, windows-437, cspc8codepage437, 437, ibm437, cp437]: ΓÇô

[860, cp860, ibm-860, csIBM860, ibm860]: ΓÇô

[861, cp-is, ibm-861, cp861, csIBM861, ibm861]: ΓÇô

[ibm863, csIBM863, cp863, 863, ibm-863]:ΓÇô

[csIBM865, ibm865, 865, ibm-865, cp865]: ΓÇô

所以你的控制台运行在这些字符集之一,但你的 System.out。假设是 UTF-8。

关于java - 无法在命令提示符下处理特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7112733/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com