Encoding Android Studio将BOM写入UTF-8文件

Encoding Android Studio将BOM写入UTF-8文件,encoding,intellij-idea,android-studio,Encoding,Intellij Idea,Android Studio,我正在从事一个项目,其中所有源文件都被编码为UTF-8,为了取悦java编译器,它会在其他编码上吐出错误。每次我用Android Studio保存源文件时,它都会在文件上写一个字节顺序标记,从而阻止编译成功。我怎样才能解决这个问题 作为一种解决方法,我使用十六进制编辑器手动删除BOM表,但这真的很烦人。这似乎是Android Studio所基于的IntellJ IDEA中的一个bug 试试这个: 在设置|文件编码中,用鼠标在第二列选择Projekt条目,然后选择Confrim Remove of

我正在从事一个项目,其中所有源文件都被编码为UTF-8,为了取悦java编译器,它会在其他编码上吐出错误。每次我用Android Studio保存源文件时,它都会在文件上写一个字节顺序标记,从而阻止编译成功。我怎样才能解决这个问题


作为一种解决方法,我使用十六进制编辑器手动删除BOM表,但这真的很烦人。

这似乎是Android Studio所基于的IntellJ IDEA中的一个bug

试试这个:

在设置|文件编码中,用鼠标在第二列选择Projekt条目,然后选择Confrim Remove of Encodings set In subdirectories(子目录中设置的编码删除),或者选择不希望强制执行默认编码的目录。 取消选择自动检测UTF编码文件 选择透明本机到ascii转换


另一个可能的修复方法是使用十六进制编辑器或其他文本编辑器删除Android studio之外的所有BOM,然后选择文件->在AS中同步。

您可以使用一些工具将文件转换为带有BOM的UTF-8

我用记事本++:

如果是,请从文件中删除。我用记事本写的 用记事本++打开文件。 确保您看到的字符是其应有的样子 选择菜单->编码->转换为UTF-8 在文件开始时添加
在Android Studio项目窗格中,右键单击存在BOM表问题的文件,然后选择:分析>检查代码。 然后单击OK。
您将获得文件中所有BOM表错误的列表。您可以右键单击每个错误并选择删除BOM。

如果您使用的是Android Studio 3.3.1


只需右键单击该文件,您将在菜单中找到“删除Android studio 3.4的BOM”右键单击Android Project。列表将弹出,在列表下方您将看不到任何BOM表,单击它,然后运行项目。编码字节错误问题将得到解决

删除BOM不适用于我

这是我从网站上复制的代码的问题


我又写了一遍,问题解决了。

在控制台中,您面临的错误是哪一个!!你能解放吗!!!!同样的问题。。。帮助您找到解决方案…@错误是将BOM作为转义序列进行投诉。它会尝试将它识别为一个语言元素,但显然失败了。+1用于查找错误,但我认为它仍然是开放的,不是吗?这附近没有解决方案或工作。在YouTrack中也不可能投票支持bug。不幸的是,我似乎仍然是一个开放的bug:但是,这里列出了一个解决方法,上面的链接应该直接带您到它,它包括删除所有文件的默认编码。此外,如果您登录,您可以向上投票;错误标题下是一个向上箭头。哦,是的-我应该搜索页面源代码中的“投票”,而不仅仅是页面文本。完成,投票-谢谢。但是为什么Android Studio首先添加它,当设置说创建UTF-8文件:没有BOM时?这解决了我的问题。它发生在迁移我的项目以使用其新的viewBinding功能之后。我希望我知道@ChristianDavén问题的答案。。。我在谷歌上找不到任何关于这个的信息。