用Ant编译时出现“编码UTF-8的不可映射字符”

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 

用Ant编译时出现“编码UTF8的不可映射字符”,这是因为对程序进行编译的时候用的编码与将该程序存储到硬盘上时使用的编码不一致造成的。

若Ant构建文件写着,那么Ant用UTF-8编码方式编译源文件,如果源文件是用GBK编码的,那么就会出现“编码UTF8 的不可映射字符”,解决办法: 

 

以上语句告诉Ant用GBK编码方式编译源文件。

另一种解决的办法是把源文件改为用UTF-8编码,具体操作就是:用记事本的另存为...,然后选UTF-8,结果出现错误D:\Workspaces \AntTest\src\com\shengsiyuan\ant\custom\ApplicationException.java:1:非法字 符: \65279

原因就在于某些编辑器会往UTF-8文件中添加UTF-8标记(EditPlus称其为签名),它会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM),该字符表示的意思是 Unicode 标记(BOM)。

因此要解决这个问题的关键就是把这个标记选项去掉。如果是在MyEclipse中新建文件,然后用UTF-8编码,不会出现这个问题(不会加UTF-8标记BOM),所以如果想转码就在MyEclipse中进行。若Ant构建文件写着,那么Ant用GBK编码方式编译源文件,如果源文件是用UTF-8编码的,那么就会出现“编码GBK 的不可映射字符”,解决方法:

以上语句告诉Ant用UTF-8编码方式编译源文件。另一种解决的办法是把源文件改为用GBK编码,如果想转码就在MyEclipse中进行。

 

 

转载于:https://my.oschina.net/wangsifangyuan/blog/659710

你可能感兴趣的:(java,操作系统,开发工具)