之前用EditPlus学习JavaSE的内容,为了统一编码,按网上教程将该IDE当做编辑器编辑Java程序,将EditPlus的编码设置为UTF-8,教程步骤如下:
在工具(Tools)——配置(用户)自定义工具(Configure User Tools)——左侧(Preferences)中点击文件选项(File),右侧可以设置文本的默认格式(Default encoding),选择UTF-8就可以了。
但是。
设置完成之后,在写Java程序时,加上注释,我此时用的是单行注释,即“// ...”,但是编译的时候还是报GBK编码错误,就是注释中的中文报GBK编码错误,虽然是注释中的中文编码错误,运行时不影响程序得出正确的结果。但是我还是着手解决这个一直没有解决的问题。
我分析:EditPlus作为编辑器,设置的编码格式是UTF-8,就是说这些注释中的中文存到硬盘中是按UTF-8编码存储的,EditPlus的设置没有问题。问题在于:
编译该Java程序时,Windows7系统(默认编码格式为GBK)上的jdk看不懂这些UTF-8编码,所以报错。总而言之,问题在于jdk或者说Java 编译器的编码错误,不是EditPlus的编码错误。
问题的解决:
但是Windows7操作系统的编码格式是不能更改的。只能从编译时想方法,解决方法如下:
在Windows7操作系统下,新建一个系统变量(计算机图标上右键——属性——左侧“高级系统设置”——“高级”环境 变量——系统变量——新建),变量名为JAVA_TOOL_OPTIONS,变量值为-Dfile.encoding=UTF-8。这样在每次执行Java类的工具时,会临时地设置编码格式为UTF-8(不过相应的报错信息你也会看不懂咧~~,所以这个办法最好在确认除了编码问题外没有其他问题时用哦)。
注意:
之前刚学Java的时候,下载jdk后配置环境变量,有人说配置需要重开机才能生效,后来又在哪地方看的说不需要重开机。这次配置完系统变量后,并没有立即生效,我还以为是因为问题不是这样解决的,我也并没有关机重新启动来检验问题是否得到解决,而是接着看之前看的Java视频。过了一会再试(EditPlus也没有重新启动),好了!行了!
结果如下: