[Java]javac 编译源文件出现“锘缝ublic”、“非法字符: \65279”的乱码情况
来源:互联网 发布:淘宝一年可以扣多少分 编辑:程序博客网 时间:2024/06/05 03:57
[转自]http://blog.csdn.net/wo550415979/article/details/7866814
[javac] HelloWorld.java:1: 需要为 class、interface 或 enum
[javac] 锘縫ackage com.csdn.demo;
[javac] ^
[javac] 1 错误
这个错误出现的主要原因是java文件的编码问题。
在中文操作系统中,使用一贯的“javac HelloWorld.java”方式编译UTF-8(带BOM)编码的.java源文件,在没有指定编码参数(encoding)的情况下,默认是使用GBK编码。当编译器用GBK编码来编译UTF-8文件时,就会把UTF-8(带BOM)编码文件的文件头的占3个字节的头信息,按照GBK中汉字占两个字节、英文占1个字节的特性解码成了“乱码”的两个汉字。这个源文件应该是用记事本另存存为UTF-8编码造成的。
对于非GBK及其子集编码(GB2312)的正确的源文件,编译方式为“javac -encoding "UTF-8" HelloWord.java”,这样代码错误的指定代码里就不会出现乱码的中文。
但是依然会有错误,提示“HelloWorld.java:1: 非法字符: \65279。
这是因为.java对于UTF-8编码,只识别UTF-8(不带BOM)那种。而记事本只支持保存文件为带签名的UTF-8,那有没有办法解决呢?
当然是有的,那就是使用EmEditor、EditPlus、UltraEdit或Notepad++之类的工具另存为UTF(不带BOM)(区别于带UTF + BOM)的编码文件。这时候使用“javac -encoding "UTF-8" HelloWorld.java”,就没有上述编码问题了。
也许有人会说,“我干脆都用GBK不就行了吗,为什么还要用UTF-8呢?”
- 【Java】javac 编译源文件出现“锘缝ublic”、“非法字符: \65279”的乱码情况
- 【Java】javac 编译源文件出现“锘缝ublic”、“非法字符: \65279”的乱码情况 .
- [Java学习]javac 编译源文件出现“锘缝ublic”、“非法字符: \65279”的乱码情况
- [Java]javac 编译源文件出现“锘缝ublic”、“非法字符: \65279”的乱码情况
- 关于javac编译时出现“非法字符:\65279”的解决方法
- [记录]关于javac编译时出现“非法字符:/65279”的问题
- 【转】[转载]关于javac编译时出现“非法字符:/65279”的解决方法
- 在cmd中运行javac编译java文件报错: 编码GBK的不可映射字符、 非法字符: \65279
- javac编译java源文件
- javac编译带包的java源文件
- idea控制台乱码与编译出现Error:(1, 12) java: 非法字符: '\u2e73'错误
- javac -encoding utf8 HelloWorld.java ,错误:非法字符:\65279
- javac 编译源文件出现"java:1: 需要为 class、interface 或 enum"、" [javac] 锘縫"错误
- Java-Maven编译的时候“非法字符: \65279”错误
- java中,部署出现非法字符:\65279
- java编译错误: 非法字符: \65279
- IntelliJ IDEA 10.0 使用javac 编译程序出现“非法字符
- javac编译出现”编码 GBK 的不可映射字符“错误
- 饿了么开源项目Hermes:新颖巧妙易用的Android进程间通信IPC框架
- 爬虫xpath学习
- 序列化的作用
- 【总结】学习AWS的VPC并通过快速上手实验室动手实操
- 循环数组打印
- [Java]javac 编译源文件出现“锘缝ublic”、“非法字符: \65279”的乱码情况
- UNIX网络编程之线程浅析
- Apue学习:高级I/O
- Ubuntu下安装GTK+及Glade开发C应用界面
- 第十三周实践项目课后阅读————2
- Javascript模块化编程(一):模块的写法
- 选择自建商城和盈利模式。
- Callable接口实现多线程
- MySQL入门——修改数据表3:删除指定表的指定的数据列(字段)