我们平时用MyEclipse编写代码时,为了兼容性的需要,一般都会把编码格式配置为UTF-8,比如我们用MyEclipse编写了一个Java类Test.java,MyEclipse的编码格式为UTF-8,在DOS窗口编译时,如下:
javac -enconding utf-8 Test.java
如果此时我们需要改动源码,用记事本打开了这个Java类,并且对这个类做了改动,就算我们只敲了一下空格健,或者再把空格删掉,编译时都会出现下面的问题:
Test.java:1: 错误: 非法字符: \65279
这是因为记事本的编码格式只有两种(中文GB2312和西欧语言,我用的是WIN7),敲入的空格不是按utf-8编码的,所以无法编译通过,即使我们又将空格删掉了,代码看起来和原先一模一样,还是无法编译通过的,因为源代码只要一变,改动的地方的编码格式即发生了变化。
此时我们需要采用MyEclipse或是Notepad++将代码的编码格式更改为统一后才能正确编译。
一般我们用MyEclipse编写程序时,都直接用MyEclipse来运行程序了,不会采用DOS的方式,我之所以在这里提出这个问题,是因为有时我们可能会在没有安装MyEclipse的机器上运行程序,到时如果出现了因编码格式导致无法编译的问题时,希望大家知道该怎么解决。
|