机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4235|回复: 1
打印 上一主题 下一主题

【技巧】关于使用javac编译时出现“非法字符: \65279”的解决方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-3-8 14:52:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 tangzk 于 2012-3-8 14:52 编辑

问题如下图所示:

一般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识,该标识由3个char组成。使用十六进制编辑器可以看到如下结果:

以文件以“EF BB BF”开头。在UTF-8的标准里该BOM标识是可有可无的,Sun 的javac 在编译带有BOM的UTF-8的格式的文件时会出现“非法字符:\65279”的错误。但是用Eclipse进行编译却没有问题,原因在于Eclipse使用的是自己的JDT,而非javac,关于JDT的描述可以到eclipse的官网上去查看。

出现这种情况时,有两种解决方法:
a) 利用UE、Editplus等文本编辑器重新保存文件为不带BOM的UTF-8格式,如下图:

b) 可使用eclipse自带的编译器进行编译
<!--在ant中添加property,使用eclipse jdt compiler编译-->
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
相关jar包在eclipse安装文件plugins目录下:org.eclipse.jdt.core_xxx.jar,xxx为版本号

参考:
http://hi.baidu.com/chif/blog/item/216e66d32e43530a3bf3cf42.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

沙发
发表于 2012-3-8 15:41:14 | 只看该作者
学习了!~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-11-23 12:44 , Processed in 0.067057 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表