当我们需要输出中文时,在DOS等运行和调试代码时会出现
study01.java:3: 错误: 编码GBK的不可映射字符
System.out.println("浠婂ぉ鐨勬棩鏈熸槸锛?"+day)锛?
^
或者中文编码错误
![](https://img-blog.csdnimg.cn/img_convert/c73009b235fbf9ed29cd6ec8a46fadf5.png)
原因:
Windows CMD和Power Shell的默认编码格式是GBK(汉字内码扩展规范 即 国标),而VScode、Notepad++甚至是记事本等编辑器的默认编码格式是UTF-8。
解决方法:
方法一:更改系统默认编码格式为UTF-8
设置->时间和语言->语言和区域
![](https://img-blog.csdnimg.cn/img_convert/f1b67f0b0e10db72853dcc04e2c59ec5.png)
点击管理语言设置
![](https://img-blog.csdnimg.cn/img_convert/cd9323be942aac9b1c09672b0b9631dc.png)
![](https://img-blog.csdnimg.cn/img_convert/87dcd6ae37ed1168cfe667e820083e06.png)
方法二:将编辑器的编码格式改为GBK
这里以VScode和Notepad++为例
VScode:点击右下角的UTF-8->通过编码重新打开
![](https://img-blog.csdnimg.cn/img_convert/dd002e36dfb2cbe4f33caa6ec732a135.png)
搜索GBK并点击即可
![](https://img-blog.csdnimg.cn/img_convert/8795dd3db8c1d5629e0b97e45b10260b.png)
Notepad++:编码改为ANSI即可
![](https://img-blog.csdnimg.cn/img_convert/cb0e02d0ecd0377c8e91239f03ba98a9.png)
方法三:javac -encoding UTF-8 编译
![](https://img-blog.csdnimg.cn/img_convert/d3873797082a60b2f61a0c38b153223d.png)