gpt4 book ai didi

java - 为什么 system.out.println() 在法语操作系统上返回不同的法语字符

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

嗨,这是一个简单的问题,虽然我自己也不知道答案......以下代码在法语操作系统上运行的输出是

public class FrenchTest {
public static void main(String[] args){
String[] lines = {"Le résultat est", "Nom de l'hôte"};

for(String line : lines){
System.out.println("NOW : " + line);
}
}
//////////////
c:\share>java FrenchTest
NOW : Le résultat est
NOW : Nom de l'hôte

c:\share>CHCP 65001

c:\share>java FrenchTest
NOW : Le résultat est
NOW : Nom de l'hôte

怎么会?这种情况下的编码要点在哪里,它在英文版操作系统上运行良好,谢谢!

最佳答案

如果您更改代码页,然后告诉 java 以 UTF-8 格式输出,它应该可以工作。请注意,您需要选择一种 unicode (truetype) 字体 - 我的机器上安装了 Consolas 和 Lucida Console。

注意如下,我使用 java 1.6.0_23 在我的机器上重复了最后一个字符。无法真正解释这个:(

msandiford@foo /cygdrive/c/foo
$ javac FrenchTest.java

msandiford@foo /cygdrive/c/foo
$ java -Dfile.encoding=UTF-8 FrenchTest
NOW : Le résultat estt
NOW : Nom de l'hôtee

msandiford@foo /cygdrive/c/foo
$ java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)

关于java - 为什么 system.out.println() 在法语操作系统上返回不同的法语字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7144264/

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