sublime编写java程序保存编译,运行之后中文显示乱码

       sublime是常见的java编辑工具之一,在初学者使用时可以更好的熟悉每条命令,以及逻辑关系。但在编写的java程序里包含中文字符的时候,在通过cmd命令提示符编译并运行之后会出现乱码,如下图:

      很多初学者会出现这种问题,出现这种问题的原因是由于sublime为国际通用的编辑软件,其编码规则默认为UTF-8,而中文字符的编码通常为GBK,所以java安装在中文系统下的时候,编译会调取GBK编码规则,所以以UTF-8编写的程序自然就会以GBK的编码规则展现,中文字符就会出现乱码。(java中jvm的编码库为unicode,所以java并不会在编译和运行中报错,但会出现乱码)

sublime编写java程序保存编译,运行之后中文显示乱码_第1张图片

 

    解决该问题的方法就是--统一编码规则。

      在java程序编译时,使用-encoding命令:  javac -encoding utf-8 XXX.java,这样java在进行编译的时候就会知道它需要以uft-8的编码规则进行编译。故输出前后编码规则统一就可以解决中文字符乱码问题。

sublime编写java程序保存编译,运行之后中文显示乱码_第2张图片

  

    那又有人会问,是否可以在sublime编辑完java程序之后保存为GBK的编码格式呢,答案当然时肯定可以的。实现方法如下:

   首先,去下载ConvertToUTF8这个sublime的小插件,然后在Preferences-Browse Packages...打开packages文件夹然后把ConvertToUTF8解压到该文件夹中,这样在File-Set File Ecoding to-Chinese simplified GBK的编码格式,从而把utf-8格式转化为GBK编码。

sublime编写java程序保存编译,运行之后中文显示乱码_第3张图片

    然后该java程序就是以GBK进行编码了,然后javac XXX.java 编译之后(默认为GBK编码),输出前后编码统一为GBK,然后在运行之后,中文字符也是正常的了。

sublime编写java程序保存编译,运行之后中文显示乱码_第4张图片

      但是不推荐使用以上方法,虽然在编译的时候不需要-encoding,但是编码为GBK,在以后用到数据库等其他工具的时候还会牵扯到编码问题,utf-8为目前比较通用的编码格式,所以建议统一使用utf-8编码格式,

 

 

 

 

转载于:https://my.oschina.net/ShellingW/blog/837791

你可能感兴趣的:(sublime编写java程序保存编译,运行之后中文显示乱码)