当前位置: 首页 > 面试题库 >

Java读取UTF-8-BOM标记

叶茂
2023-03-14
问题内容

我正在通过FileReader读取文件-该文件已经过UTF-8解码(使用BOM),现在的问题是:我读取了文件并输出了字符串,但可悲的是BOM表标记也被输出了。为什么会这样?

fr = new FileReader(file);
br = new BufferedReader(fr);
    String tmp = null;
    while ((tmp = br.readLine()) != null) {
    String text;    
    text = new String(tmp.getBytes(), "UTF-8");
    content += text + System.getProperty("line.separator");
}

第一行后输出

?<style>

问题答案:

http://www.rgagnon.com/javadetails/java-handle-utf8-file-with-bom.html



 类似资料:
  • 我尝试用JasperReport导出CSV文件,问题是当我想打印像“€”这样的货币时。 当我搜索解决方案时,我意识到这是关于文件编码的!我写这个代码! JasperReport导出的文件编码在“没有BOM的UTF-8”上。所以当我用Excel打开文件时,“€”看起来像“,”。但是当我用记事本打开文件时,“€”看起来像“€”。 在记事本上,我将文件编码转换为UTF-8(我认为是BOM),我保存文件。

  • 问题内容: 这里有两个问题。我有一组通常是带有BOM的UTF-8文件。我想将它们(理想情况下)转换为没有BOM的UTF-8。似乎可以解决这个问题。但是我真的看不到任何有关用法的好例子。这将是处理此问题的最佳方法吗? 同样,如果我们能够处理清楚知道的不同输入编码(看到的ASCII和UTF-16),那将是理想的。看来这一切都是可行的。是否有一种解决方案可以采用任何已知的Python编码并以UTF-8格

  • 问题内容: 我们有一个数据输入人员,他在Windows上使用UTF-16编码,并且希望拥有utf-8并删除BOM。utf-8转换有效,但BOM仍然存在。我将如何删除?这是我目前拥有的: 如果我使用hexdump -CI,请参阅: 在结果文件中。如何删除物料清单? 谢谢 问题答案: 只需使用和: 将为您摆脱BOM表(并推断出字节序)。

  • 除非我能在确保输入文件是用UTF-8编码后使测试工作,否则什么是基本错误,我真正感兴趣的问题是: 上面的方法是否保证了UTF-8文件中的缺陷也被逐个复制,或者将字符加载到的过程是否改变了这一点?

  • 问题内容: 我在写一些注释过的PHP类,但偶然发现了一个问题。我的名字(用于@author标记)以一个(以UTF-8字符开头,…和一个奇怪的名字,我知道)结尾。 即使我将文件另存为UTF-8,也有一些朋友报告说他们看到这个字符完全弄乱了()。通过添加BOM表签名可以解决此问题。但是那件事让我有些烦恼,因为除了我在Wikipedia上以及关于SO的其他一些类似问题上所了解的之外,我对此并不了解。 我

  • 是否可以将JavaScript中的UTF-8 BOM预置为生成的文本? 是的,在这种情况下,我确实需要UTF-8 BOM。