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

如何使记事本在没有BOM的情况下以UTF-8保存文本?

任繁
2023-03-14
问题内容

我有一个带有特殊重音的CSV文件,并通过选择UTF-8编码将其保存在记事本中。当我使用Java读取文件时,它也会读取BOM表字符。

因此,我想以UTF-8格式保存此文件,而不必最初在记事本中附加BOM。

否则,Java中是否有内置类可以消除读取文件内容时开头出现的BOM字符?


问题答案:
  1. 使用Notepad -免费且比Notepad好得多。使用Enconding > 在没有BOM的UTF-8中进行编码,将有助于在没有BOM的情况下保存文本: Notepad 菜单栏>编码>在Notepad ++ v6.7.9.2中使用无BOM菜单的UTF-8中进行编码的屏幕快照

  2. 当我在Java中遇到此问题时,我没有找到任何库来解析前三个字节(BOM)。所以我的建议是:

  3. 使用PushbackInputStream(in, 3)。

  4. 读取前三个字节
  5. 如果不是BOM(EF BB BF),请将其推回
  6. 以UTF-8处理流


 类似资料:
  • 我构建了一个System类型的XML对象。Xml。XmlDocument。 我使用保存()方法将其保存到文件中。 这会将文件以UTF-8格式与BOM一起保存。BOM表会导致后续的其他脚本出现问题。 当我们在记事本中打开XML文件并将其保存为UTF-8(没有BOM)时,其他脚本不会有问题。所以我被要求保存没有BOM的脚本。 保存方法的MS文档说明: encoding属性的值取自XmlDeclarat

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

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

  • 问题内容: 首先,有一些背景知识:我正在使用Python开发Web应用程序。我的所有(文本)文件当前都与BOM一起存储在UTF-8中。这包括我所有的HTML模板和CSS文件。这些资源作为二进制数据(BOM和所有)存储在我的数据库中。 从数据库检索模板时,我使用对其进行解码。当HTML到达浏览器时,BOM出现在HTTP响应正文的开头。这会在Chrome中产生一个非常有趣的错误: 当Chrome浏览器

  • 我可以在Spring Boot应用程序中保存实体,而无需。我之所以注意到这一点,是因为在中的方法中添加了之后,我才能够更新实体。 我没有在类级别上注释。在我的服务层中找到的唯一其他位置是不属于方法的方法。我的未扩展。它用注释。我有作为依赖项。我也不是手动开始或提交事务。 员工ontroller.java 员工ervice.java

  • 我有一个链接服务器,正在尝试删除链接服务器中的表中的某些内容。我正在使用transaction并尝试在存储过程中捕获,如下所示。 使用此代码,我在事务中有许多插入和删除。它给出了这个错误:链接服务器“服务器”的OLE DB提供程序“SQLNCLI11”返回消息“没有事务处于活动状态”。 我了解到,如果我在它上面使用SET XACT_ABORT,它将丢弃任何进程,如果它在运行时遇到任何错误,它将自动