一个类存成 utf-8,使用 java -encoding utf-8 死活编译不了
存来存去,删除重写,只要是源文件是utf-8,就编译不了没招了,难道我操作系统有问题

解决方案 »

  1.   

    用什么存的呀?要是用IDE那么就直接能编译了,要是记事本存的,要确信保存的时候是以Unicode编码方式存的.
      

  2.   

    illegal character: \65279 包括非法字符,一定是从浏览器上面copy下来的吧
    把缩进前面所有的字符全部删掉,重新手动缩进就是了
    与你设成什么字符无关
      

  3.   

    楼主用的WINDOWS吧?
    是不是用记事本存的?windows对UTF-8文件进行了非常恶心的处理
    也就是对UTF-8的文本文件自动在前面加了两个byte
    而unix/linux下标准的UTF-8文件是没有这两个byte的javac编译的时候读到最前面这两个byte会报错
    你可以用16进制文本编辑工具删掉文件头这两个附加的byte就可以了
    但是记事本可能就认不出来这个文件是UTF-8编码的了
      

  4.   

    欢迎加入JAVA群31697908,学习兴趣不高,讨论不积极者请不要进。
      

  5.   

    原因:
    windows对UTF-8文件进行了特殊处理,即对UTF-8的文本文件自动在前面加了两个byte(FF FE);javac编译时,读到最前面这两个byte时报错 illegal character: \65279unix/linux下标准的UTF-8文件无此两个byte解决方式:
    方案一:16进制文本编辑工具删掉文件头附加的byte即可Bless 是一个十六进制编辑器,其主要功能包括:支持编辑大数据文件及块设备、能够执行搜索与替换操作、具有类似 Firefox 的标签浏览特性、可将数据输出为文本或 HTML、包含插件系统,等等。
      

  6.   

    用Notepad++打开,选择Encoding->Encoding in UTF-8 without BOM,保存即可