代码改变世界

java工程中出现的编码问题

2015-08-04 16:53  himanxu  阅读(497)  评论(0编辑  收藏  举报

《疯狂java讲义》Arrays中的数组应用举例Num2Rmb的例子,使用Nodepad++编辑后,运行出现:

编码GBK的不可映射字符

尝试使用javac -encoding utf-8 NumTest.java

错误提示为:非法字符:'\uff1b'

无果。。。

总的来说,问题应该是jdk默认的编码方式与所写的java文件的编码方式不一致导致的

 

javac省略-encoding参数后,会自动使用操作系统的编码方式。cmd中输入 chcp  获得活动代码为936,说明操作系统默认编码方式是GBK。

即javac filename.java 的效果等同于javac -encoding gbk filename.java

 

将文件改成跟sample一样的编码格式,sample可以正常编译,而自己写的java文件却一直报错。。。

还是没能解决本问题。。。

 

而且有一个问题,直接粘贴复制之后,public class的声明总是提示类是公共的要添加public 声明,然后去掉了public,编译既然就通过了。网上说editplus中添加public是画蛇添足,没懂这句话是什么意思。。。