问题描述

之前一直用的是jdk19+idea 社区2022最新版本,这两者结合用的还是蛮顺手的 今天配置了企业版结果控制台输出中文是乱码,
或者出现错误Error: java: 编码 GBK 的不可映射字符 (0xB0) 查询一些解决方案,奇怪的知识又多了一点点;有以下几个步骤
问题呈现如下图

java控制台出现乱码 java 控制台乱码_重启

可以查询到我的idea设置,File -> Settings -> File Encodings下设置编码格式是设置为UTF-8的,如下

java控制台出现乱码 java 控制台乱码_Java_02

解决办法

1 改编码格式:

先查询自己的编码格式,File -> Settings -> File Encodings,是utf-8还是GBK

现在一般都是安装好idea后,首先把这三项都改为utf-8

java控制台出现乱码 java 控制台乱码_编码格式_03

如果都改好了是utf-8,输出还是乱码,那么进行下一步

2 改idea.exe.vmoption文件
这里修改idea.exe.vmoptions与idea64.exe.vmoptions两个文件有两个办法

2.1直接在idea修改

点击idea标题栏help按钮,找到Edit Custom VM Options,在文件的最后加上 -Dfile.encoding=utf-8

java控制台出现乱码 java 控制台乱码_java控制台出现乱码_04

点击进入,在文本末尾添加-Dfile.encoding=UTF-8

java控制台出现乱码 java 控制台乱码_Java_05

然后重启idea

2.1 在idea的bin目录里面修改

打开idea安装目录-bin,找到idea.exe.vmoptions和idea64.exe.vmoptions文件

java控制台出现乱码 java 控制台乱码_Java_06

直接记事本打开,在文本末尾同样添加

-Dfile.encoding=UTF-8

java控制台出现乱码 java 控制台乱码_ide_07

两个都修改,
然后重启idea
重点来了!如果这些步骤都完成,输出的还是乱码,那么请执行第3步

3 匹配编码格式

JDK版本的编码和idea的不一致,有些版本jdk内置是utf-8,有些版本内置是GBK编码,解析冲突,就产生了乱码

解决办法同样有两

3.1 彻底清除jdk,重新下载编码匹配的jdk
然后重新配置环境变量等等;
比如jdk17是utf-8,jdk18是GBK,jdk19也是GBK

3.2 更改idea编码格式

设置File -> Settings -> File Encodings,三项全改为GBK

java控制台出现乱码 java 控制台乱码_重启_08

就OK了

java控制台出现乱码 java 控制台乱码_ide_09

4 编码 GBK 的不可映射字符 (0xB0)解决办法

java控制台出现乱码 java 控制台乱码_编码格式_10

此时还是打开设置File -> Settings -> File Encodings,把前面第1步提到的三项都改为utf-8

接下来修改

java控制台出现乱码 java 控制台乱码_Java_11

选择GBK

java控制台出现乱码 java 控制台乱码_重启_12

点击仍要转换,

java控制台出现乱码 java 控制台乱码_编码格式_13

就欧克了。