您的位置:首页 > 其它

Ant编译utf-8非法字符:/65279 解决方法

2013-06-17 16:22 295 查看


Ant编译utf-8非法字符:/65279 解决方法

编译错误为:java error:class,interface,or enum expected
解决方法:使用Notepad++ 用Encoding-> Convert to UTF-8 without BOM

原因描述如下:
原文:http://blog.sina.com.cn/s/blog_a080747701011jug.html

这是一个很郁闷的问题,碰到这问题百度又不能直接搜索“”,自然无法查找到结果。普通的浏览器也查不到为啥会出现这个空格。
出现此问题一般是在浏览器上浏览上某一段包含空格,且用IE浏览器无法查看,但是用FF浏览器filebug查看HTML时就会出现“”,删除这字符即正常显示,但刷新页面又重新出现。

使用ant编译java文件时报非法字符(不可见的)问题

最简单的方法:
一般来说错误信息会提示非法字符的位置,可以在eclipse里面切换java文件的编码方式,比如:ISO-8859-1,等编码,可以观察到指定位置的非法字符。删除非法字符即可编译通过。
对于较少文件适用
-------------------------------------------------
另外补充:
一般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识,该标识由3个char组成。在UTF-8的标准里该BOM标识是可有可无的,Sun 的javac 在编译带有BOM的UTF-8的格式的文件时会出现“非法字符:/65279”的错误,但是用Eclipse进行编译却没有问题,原因在于Eclipse 使用的是自己的JDT,而非javac,关于JDT的描述可以到eclipse的官网上去查看。

下载editplus,打开你的java源文件(可以打开多个文件),选择“文档”-“文件编码”-“批量更改文件编码…”选择所有你需要修改的编码的java源文件,选择字符集“UTF-8″记得是UTF-8,而非“utf-8 bom”。点击批量保存按钮。再运行你的ant脚本,此时编译就不会报出“非法字符:/65279”这个错误了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: