java - Netbeans 和控制台中的未知字符

标签 java netbeans unicode

我有一个以 utf-8 数据编码的文本文件“abc.txt”,它是一组来自 wikipedia page 的表情符号:
(^_^) 开心

我的代码将此信息从文件中提取到 netbeans 标准输出
我的代码:

public static void main(String[] args) throws FileNotFoundException {
    Scanner sc=new Scanner(new File("abc.txt"));
    while(sc.hasNext()){
        System.out.println(sc.nextLine());
    }
}

在 netbeans 中输出是这样的:

enter image description here

在控制台中的输出是:
enter image description here

这是什么角色?
我该如何删除它?

最佳答案

控制台输出看起来像 UTF-8 编码的 Byte Order Mark (BOM,U+FEFF),字节 0xEF 0xBB 0xBF,根据一些遗留的 8 位字符编码被错误解释。

要么保存不带 BOM 的文件,要么让您的程序识别并跳过数据开头的 BOM。

关于java - Netbeans 和控制台中的未知字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697446/

相关文章:

Java Swing 表树

mysql - Ruby mysql gem 将 unicode 字符串插入 mysql 数据库

java - 如何在不使用数字格式的情况下每 3 位添加逗号?

java - MVC : Should the Model layer only contain DAO and DAOHelpers?

java - 特定长度字符的子字符串

java - 将 war 部署到不受 netbeans 管理的本地 Tomcat 实例

java - 是否可以让 Hibernate 忽略架构验证列类型不匹配错误

java - 当我单击注销链接一次时,它不会返回,但是当我单击注销链接两次时,它会返回或上一页

python - '# -*- coding: utf-8 -*-' 也是 Python 中的注释吗?

unicode - 如何像 Rebol 2 一样在 Rebol 3 字符串中使用 U+FFFF 以上的 Unicode 代码点?