黑马程序员技术交流社区

标题: Java编译时的编码问题 [打印本页]

作者: 刘艳伟    时间: 2012-11-24 21:02
标题: Java编译时的编码问题
  我们平时用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的机器上运行程序,到时如果出现了因编码格式导致无法编译的问题时,希望大家知道该怎么解决。




作者: 黑马吕世成    时间: 2012-11-25 08:33
谢谢分享!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2