我在项目中遇到的一个非常基本的问题,并且在这个基本代码中再次出现:
import java.util.Scanner;
public class Special {
public static void main(String[] args) {
System.out.println("Donner le mot");
Scanner sc = new Scanner(System.in, "UTF-8");
String w = sc.next();
System.out.println(w);
}
}
因此,我插入一个包含法语中使用的普通字母和重音字母的字符串(é,ç,ù...),我面临的问题是在打印输出中,它按原样显示普通字母并打印询问观点 ”?”在每个重音字母的位置。 编译行与往常一样:
javac Special.java
java Special
值得注意的是,我确保以 UTF-8 编码格式保存文件。
你的程序写得正确!
尝试检查您的环境设置。以下是如何做到这一点的示例:
import java.nio.charset.Charset;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// Get the default charset for the terminal
Charset terminalCharset = Charset.defaultCharset();
System.out.println("Terminal Charset: " + terminalCharset.displayName());
// Get all available charsets for the current system
Map<String, Charset> availableCharsets = Charset.availableCharsets();
System.out.println("Available Charsets:");
for (Map.Entry<String, Charset> entry : availableCharsets.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue().displayName());
}
}
}