String a =“å”
- 为什么会这样?
import java.util.*;
public class UTF8Test {
public static void main(String [] args) {
String [] Norge = {"løk", "hår", "vår", "sær", "søt"};
Scanner input = new Scanner(System.in);
String test = input.nextLine(); //I enter løk here
System.out.println(test);
System.out.println(Norge[0]);
for(int i = 0; i < Norge.length; i++) {
if(Norge[i].equals(test) ) {
System.out.println("YES!!");
}
}
}
}
编译器将显示如下内容:
løk
løk
l├©k
System.in
读取的字符使用 UTF-8 进行解释。我应该怎么做? - Sing Sandibar├©
作为ø
的乱码形式表明原始环境使用的是 CP850 而不是 UTF-8。Windows 命令控制台默认使用 CP850。这表明您在 Windows 命令控制台中运行,而不是在像 Eclipse 这样支持 UTF-8 的 IDE 中运行。您可以通过打印/检查Charset.defaultCharset()
的结果来确认这一点。 - BalusC.java
文件转换为.class
文件时起作用。 - BalusC.class
文件,看看编译器如何在其输出中表示字符串。 - AJMansfield