我有一个Eclipse项目源代码(我被告知在Android Studio上,也许他们只是混淆了),我开始将代码迁移到android studio指向
但它不起作用。 所以我直接从路径导入项目并自动转移到android-studio项目,但是在编译时仍然出错。
错误:(1,1)错误:非法字符:' \ ufeff'
错误位置是指
包com.bla.blabla;
请帮助我,谢谢
答案 0 :(得分:36)
这是与BOM(字节顺序标记)字符相关的问题。 Byte Order Mark BOM是一个Unicode字符,用于定义文本文件字节顺序,并位于文件的开头。 Eclipse在文件开头不允许使用此字符,因此您必须将其删除。为此,请使用富文本编辑器(如Notepad ++),并使用编码" UTF-8保存文件而不使用BOM。"这应该可以消除这个问题。
答案 1 :(得分:30)
在右下角,您可以设置文件编码。选择除UTF-8
之外的其他选项如果出现弹出窗口,请选择Convert
选项。
答案 2 :(得分:16)
正如Marcelo所说,我将文件编码选项更改为UTF-16。跑吧,但没有奏效。再次改为UTF-8并转换它。它运行成功。如果上述解决方案不起作用,请尝试此操作。
答案 3 :(得分:10)
答案 4 :(得分:3)
我在intelliJ-2016.1.2中遇到了这个错误。
感谢@Darsh的帮助, 我做了同样的事情,首先改为UTF-16(即转换成UTF-16)并编译代码。它没有工作,然后再次改回UTF-8,这次它工作正常。
谢谢。
答案 5 :(得分:2)
以上是很好的解决方案。但是,如果它们都不起作用,请尝试以下方法:
在Notepad ++中打开文件; 复制一切; 创建一个具有相同名称的新文件; 粘贴一切; 保存它。
现在已经不见了。
答案 6 :(得分:2)
我在这里尝试了其他几个答案而没有任何快乐。
最后,我只是删除了有问题的行并将其直接重写为Android Studio
。错误消失了。
这是由于我复制并粘贴youtube(或者我当时正在查看的随机博客)的代码行而引起的吗?
答案 7 :(得分:2)
您可以尝试这种方法:
- 将类重命名为class1.java
- 创建一个新类,一些重命名的类,如class.java
- 选择所有包含重命名的文件并复制到新类中。
醇>
这种方法对我有用。
答案 8 :(得分:2)
我用这种方法解决了这个问题:
此方法对我有用。 tnx
答案 9 :(得分:1)
关闭android studio并重新打开它。这个对我有用。此外,如果您从youtube复制评论并将其粘贴到项目中,则可能会发生这种情况
答案 10 :(得分:1)
将您的UTF8转换为ISO 8859-1,以便在andorid Studio中解决问题
注意 ISO-8859-1使用此
如果,您的错误未解决,则使缓存无效,然后重新启动,然后
无尘清洁 npm start--重置缓存 react-native运行Android react-native run-ios
永久解决您的问题
另一件事,如果问题仍然存在,则将com.wheel文件复制到记事本++中,然后再次复制并粘贴到您的项目中
android {
compileOptions.encoding = 'ISO-8859-1'
}
答案 11 :(得分:0)
我尝试使用sublime,然后打开文件" Save with Encoding"选择UTF-8(没有BOM),它可以工作:)
答案 12 :(得分:0)
只需进入记事本plus加并打开文件,然后在顶部栏的编码选项中选择utf8
答案 13 :(得分:0)
只需删除xml文件的第一行并手动重新键入(复制粘贴将重新插入隐藏的BOM)。
答案 14 :(得分:0)
这里的想法肯定对我有所帮助,但结果却有所不同。
我确实将文件编码从UTF-8转换为UTF-16。然后,我遇到了另一个错误。当我将其转换回UTF-8时,我注意到在代码行之前有一串无法识别的字符。我将它们删除并重新编译,效果很好。
我的结论是某种无法识别的字符隐藏在我的代码中。可能是程序员错误,或者是从网络上盲目复制/粘贴了令人讨厌的隐藏字符。遵循我们的同事在上面概述的过程,以某种方式让我看到了它。
如果您遵循上述想法,请确保在每次转换之间进行清理/重建。