问题描述

在java实现ping/tracert两个命令时候,输出到控制台里面中文乱码。

问题分析

应该是调用了终端,而windows的终端默认是GBK的编码,所以要对其更改管用的utf-8编码,改为GBK编码。
image.png

问题解决

编码更改

image.png
image.png
image.png

  • Reload 表示使用新编码重新加载,新编码不会保存到文件中
  • Convert 表示使用新编码进行转换,新编码会保存到文件中
  • 含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原

    BOM问题

    BOM:byte-order mark 字节顺序标记 https://zh.wikipedia.org/wiki/%E4%BD%8D%E5%85%83%E7%B5%84%E9%A0%86%E5%BA%8F%E8%A8%98%E8%99%9F

可能会出现的问题有:

编译报错:找不到符号未结束的字符串文字 或者是 提示 非法字符

解决办法:有上述百科可知,UTF-8编码分有BOM和无BOM两种分类。IDEA打开Eclipse项目,会提示出现上述编译问题,因为Eclipse默认是有BOM的文件编译,而IDEA只能编译无BOM的文件编译,所以解决办法就是对项目进行BOM去除操作。