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

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

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

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

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

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

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

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

java 保存后中文乱码_sublime编写java程序保存编译,运行之后中文显示乱码相关推荐

  1. java读excel乱码,【java 项目中,上传的excel打开时无法正常打开,显示乱码 ,怎样可以正常打开,】java读取excel乱码...

    java 项目中,上传的excel打开时无法正常打开,显示乱码 ,怎样可以正常打开, 1.转换格就是将受损的Excel XP簿另存格式选为SYLK.如果可以打开受件,只是不能进行各种编辑和打印操作,那 ...

  2. qt程序在Linux下字体乱了,解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!...

    本文解决的主要是界面程序编译运行后无法显示中文的问题,如果在creater 中无法输入中文,下载个IBus或者搜狗之类的中文输入法即可解决! 首先说乱码问题,这个很好解决: 如果是在linux下打开W ...

  3. Java黑皮书课后题第7章:**7.5(打印不同的数)编写一个程序,读入10个数,显示互不相同的数的数目,并以输入的顺序显示这些数字,以输入的顺序显示这些数字,以一个空格分隔。

    **7.5(打印不同的数)编写一个程序,读入10个数,显示互不相同的数的数目,并以输入的顺序显示这些数字,以输入的顺序显示这些数字,以一个空格分隔. 题目 题目描述与运行示例 破题 题目 题目描述与运 ...

  4. Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母

    4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母 题目 题目概述 破题 生成随机数 随机数与大写字母之间的转换:ASCII 转化为char型 代码 题目 题目 ...

  5. ubutnu系统编写java hellow程序并编译运行

    注意:一定要看清自己所在的位置,不然运行不成功 sudo vim Demo.java 进入编辑状态,可以直接编写代码. 编写代码完成后,按下esc键,并输入:wq保存文件并退出编译器 ls查看当前目录 ...

  6. java随堂练习05,编写一个程序,为一个给定的年份找出其对应的中国生肖

    /*** 编写一个程序,为一个给定的年份找出其对应的中国生肖.* 中国的生肖基于12年一个周期,每年用一个动物代表:* rat(鼠).ox(牛).tiger(虎).rabbit(兔).dragon(龙 ...

  7. java中输出5个数_编写一个程序,要求用户输入5个数字,并输出这些数字中最大的数字和这些数字中最小的数字...

    编写一个程序,要求用户输入5个数字,并输出这些数字中最大的数字和这些数字中最小的数字 . 因此,例如,如果用户键入数字2456 457 13 999 35,则输出将如下所示:最大数字是2456,最小数 ...

  8. c 运行 java linux命令行参数,Linux下用命令行编译运行Java总结

    最近使用腾讯云的Cloud Studio写Java,只能使用命令行进行编译运行,趁此机会,学习一下Linux的一些常用命令.平时windows下IDE用习惯了,现在用命令行进行编译运行,发现其实问题还 ...

  9. 使用记事本写java程序并编译运行过程

    写一个简单的java源文件:HelloWorld.java public class HelloWorld{public static void main(String[] args){System. ...

最新文章

  1. Eclipse中SVN的安装步骤(两种)和使用方法 (转)
  2. Spring 5.0 GA版本发布,支持JDK9及反应式编程
  3. vue状态管理存取数据_vue状态管理vuex从浅入深详细讲解
  4. 什么是.hpp文件?
  5. hadoop的三大核心组件之HDFS和YARN
  6. C/C++:Windows编程—代码获取本地所有网卡信息(网卡描述,IP地址,子网掩码,MAC地址)
  7. 人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 情感分析
  8. Kafka 居然还会丢消息?
  9. 解决 winedit 打开tex文件 reading error
  10. 2021-02-09
  11. WIN7中修改Jar文件打开方式的方法
  12. 几款远程登录软件的对比
  13. android 支持最低版本是多少g,手机需要多少G的运行内存,才真正够用?
  14. CISP-PTE是什么证书,CISP-PTE证书有什么用?
  15. 【对可转债和期权的初步认识】
  16. P3396 哈希冲突 (根号算法)
  17. ZBar源码分析(二)
  18. 跨境贸易PayPal收款,个人美金额度不够了,如何提现美金?
  19. python批量检索文献_快解锁新姿势,教你如何用Python搞定文献搜索和科研图片!...
  20. Elastic开源社区:开发者招募

热门文章

  1. 深入理解Spark 2.1 Core (二):DAG调度器的原理与源码分析
  2. Hive 基础(1):分区、桶、Sort Merge Bucket Join
  3. Eclipse+PyDev+Django+Mysql搭建Python web开发环境
  4. vmware_vcenter_api
  5. Clash Royale开发日志
  6. 利用js实现 禁用浏览器后退| 去除上一个历史记录链接
  7. jquery.validate.js插件的使用方法
  8. React-Native学习笔记
  9. Activiti Modeler发布以及教程
  10. [LintCode] Reverse Integer