2022.2版本IDEA解决控制台中文乱码及部分原理分析

文章详细介绍了在IDEA2022.2版本中遇到的控制台中文乱码问题,以及如何通过理解编码和解码原理,调整项目和文件编码设置为GBK来解决这个问题。作者提供了配置步骤,包括更改全局编码、项目编码和属性文件编码,并展示了配置前后的效果。
摘要由CSDN通过智能技术生成

目录

一、说明

 二、配置前的准备工作

1.首先先来了解一下什么叫做乱码:

2.再来了解一下Java程序的运行机制:

3.之后我们再看一下在IDEA中Java项目的结构

4.总结一下,java项目的结构

三、开始配置

1.解码方面

2.编码方面

3.开始配置

5.例子

6.若有哪些不太对的地方,欢迎大家指出


一、说明

电脑重装了系统,重新下载IDEA后,打开编写JAVA代码,出现了控制台中文乱码问题,在网上找解决办法,解决问题后,便写下了这个笔记,希望能帮到大家

我IDEA版本:2022.2

JDK版本:18

 二、配置前的准备工作

1.首先先来了解一下什么叫做乱码:

简单的说就是:编码和解码时用了不同或者不兼容的字符集。

对应到真实生活中:就好比是一个美国人为了表示祝福在纸上写了bless(编码过程)。而一个法国人拿到了这张纸,由于在法语中bless表示受伤的意思,所以认为他想表达的是受伤(解码过程),这个就是一个现实生活中的乱码情况

在计算机科学中一样:一个用UTF-8编码后的字符,用GBK去解码。由于两个字符集的字库表不一样,同一个汉字在两个字符表的位置也不同,最终就会出现乱码。

更加详细的大家可以看看以下文章和视频:

史上最通俗,彻底搞懂字符乱码问题的本质 - 知乎 (zhihu.com)

一听就懂字符集、ASCII、GBK、UTF-8、Unicode、乱码、字符编码、解码问题的讲解_哔哩哔哩_bilibili

2.再来了解一下Java程序的运行机制:

Java程序运行时,必须经过编译和运行两个步骤。首先将扩展名为.java的源文件进行编译,生成扩展名为.class的字节码文件。然后java虚拟机对字节码文件进行解释执行,并将结果显示出来。若用IDEA编写一般程序的话,就是显示到控制台上,对字节码文件进行解码,要确保控制台解码采用的字符集和字节码文件编码采用的字符集一致或兼容,乱码常常出现在这个过程中

3.之后我们再看一下在IDEA中Java项目的结构

这个是新建的java项目,里面还什么都没有

当我在src下新建一个Java类,该项目结构会变成(此时还未编译运行)

当我对这个类进行编译运行(点击运行)后,会变成

请注意,多了一个out文件夹,在它的子目录java下有一个T1,这就是T1.java编译后的字节码文件T1.class

4.总结一下,java项目的结构

三、开始配置

1.解码方面

IDEA控制台解码采用的是GBK

注:控制台解码默认是系统的编码为"GBK",国家曾规定所有微软的软件进入中国都要默认GBK编码,所以Windows系统默认编码也为GBK

所以要确保源程序编译成的字节码文件编码采用的字符集为GBK,这样就可以避免出现乱码现象了

2.编码方面

我们看一下源程序编译后字节码文件编码采用的字符集(扩展名为.class的文件),

在下面页面的右下角,有一个灰色的【GBK】,表明其编码采用的字符集为GBK

点击它,发现不能更改(如果不是GBK,我们就到【编辑器】中去修改,之后重新编译源代码就OK啦

 

3.开始配置

在IDEA中点击【文件】,再点击【设置】

之后会弹出下面这个框,在【编辑器】下找到【文件编码】,将【全局编码】【项目编码】【属性文件的默认编码】改为GBK,之后点击【应用】,再点击【确认】

5.例子

原来是这个样子的,控制台出现中文乱码,为了解决控制台中文乱码问题,下面进行配置

配置过后

6.若有哪些不太对的地方,欢迎大家指出

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值