java - 以 UTF-8 格式保存 Java 文件

标签 java character-encoding

当我运行这个程序时,它会给我一个'?'对于 unicode 代码点 \u0508。这是因为默认的 windows 字符编码 CP-1252 无法映射此代码点。

但是当我在 Eclipse 中将此文件保存为“文本文件编码”= UTF-8 并运行此程序时,它会给我正确的输出 Adc

为什么会这样?我的意思是 java 文件保存为 UTF-8,但底层 Windows 操作系统编码仍然是 CP-1252。我的问题类似于,当我尝试读取最初以 UTF-8 编写的 UTF-16 文本文件时,输出是奇怪的,带有不同的框符号。

public class e {
public static void main(String[] args) {
    System.out.println(System.getProperty("file.encoding"));
    String original = new String("A" + "\u0508" + "C");
    try {
        System.out.println("original = " + original);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
}

最佳答案

将 Java 源文件保存为 UTF-8 或 Windows-1252 应该没有任何区别,因为这两种编码对所有 ASCII 代码点的编码方式相同。并且您的源文件仅使用 ASCII 字符。

因此,您应该尝试在其他地方找到错误。我建议重新执行您小心执行的步骤并重新进行测试。

关于java - 以 UTF-8 格式保存 Java 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14077345/

相关文章:

java - 如何使用mysql在java中执行result.beforeFirst后使用resultset.next方法

PHP网站编码问题

character-encoding - 解码十六进制字符串编码

php - 编码中没有分号

java - 无论如何要从 Double 转换为 BigInteger?

java - java程序中如何向shell脚本传递参数

java - 在 Hibernate 中映射 byte[] 并逐 block 添加文件

java - 您如何验证在 Android 2.1 中输入的 EditTextPreference 的格式和值?

php - 在 PHP 中获取 ’ 而不是撇号(')

javascript - Internet Explorer 忽略 JS 文件中的所有 "0"字符