cmd运行乱码或显示编码GBK的不可映射字符解决方法

出现这样的错误,一般是因为代码中含有中文字符,注释中的中文字符也算。由于使用cmd运行java程序的时候,系统默认的编码格式是gbk。而包含中文字符的代码一般是Unicode格式,所以直接运行含有中文字符的代码就很容易出现编码错误。

编写测试代码如下:

cmd编译运行显示乱码

以notpad++为例,将编码转换为“使用ANSI格式编码”即可。

注意:但是如果直接点击“使用ANSI格式编码”,原来的中文会乱码,所以需要先将源文件剪切,然后将编码格式设置为“使用ANSI格式编码”,设置好之后再将源文件粘贴出来,保存即可。

使用ANSI格式编码后就可以完美编译运行了

当然,如果没有使用集成编辑器,而是使用的记事本这样的工具来编写代码。那么可以直接使用-encoding指令来为文件指定编码格式。

例如 javac -encoding UTF-8(utf-8) XXX.java

其中XXX替换为你的java文件名。

原文地址:https://www.cnblogs.com/an-shiguang/p/14202618.html