IDEA学习系列:查看lib源码显示乱码的解决方式

2024-08-28 12:48

本文主要是介绍IDEA学习系列:查看lib源码显示乱码的解决方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 场景
  • 环境
  • 正文
    • 原因
    • 解决方案
      • 一、打开setting
      • 二、修改全局编码
      • 三、验证
      • 说明
  • 总结
  • 随缘求赞

场景

使用idea进行开发代码,有时候需要查看依赖的lib包的源码。但是因为项目是老项目,编码是GBK。所以打开会显示乱码。没办法直接通过点击右下角的编码切换来进行更新。如下图:
在这里插入图片描述
本篇博文主要是讲述该解决方案。

环境

软件版本
IntelliJ IDEA2020.2 EAP

正文

原因

为什么会乱码呢?究其原因,就是用不合适的编码打开了文件,所以显示乱码。而我们打开lib查看源码的时候,idea会默认使用全局编码打开lib的源码。假如全局编码是设置了UTF-8,而源码编码是GBK。那打开就是会显示乱码。而因为lib包的源码是不可编辑的,所以源码那里的编码转换按钮是不可编辑的。

解决方案

如果细心的看官,已经看到关键点:全局编码。所以,我们将项目的全局编码改为lib包对应的编码格式即可。

一、打开setting

打开setting,搜索框输入“encoding”,选择“File encoding”,如下图:
在这里插入图片描述

二、修改全局编码

将全局编码修改为lib包对应的编码。我们这里lib包的编码格式是GBK,所以修改为GBK,然后点击“APPLY”按钮之后,最后点击“OK”按钮。如下图:
在这里插入图片描述

三、验证

重新打开刚刚乱码的文件,这次不乱码,截图如下:
在这里插入图片描述

说明

如果没有变动,则需要点击“File-》File Properties-》File Encoding”,显式地将编码改为GBKidea版本存在差异,位置可能不一样。请自行搜索。

总结

什么问题都至少有一个原因导致其发生的。所以多思多想!

随缘求赞

如果我的文章对大家产生了帮忙,可以在文章底部点个赞或者收藏;
如果有好的讨论,可以留言;
如果想继续查看我以后的文章,可以点击关注
可以扫描以下二维码,关注我的公众号:枫夜之求索阁,查看我最新的分享!
在这里插入图片描述
拜拜

这篇关于IDEA学习系列:查看lib源码显示乱码的解决方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114815

相关文章

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

Mybatis的分页实现方式

《Mybatis的分页实现方式》MyBatis的分页实现方式主要有以下几种,每种方式适用于不同的场景,且在性能、灵活性和代码侵入性上有所差异,对Mybatis的分页实现方式感兴趣的朋友一起看看吧... 目录​1. 原生 SQL 分页(物理分页)​​2. RowBounds 分页(逻辑分页)​​3. Page

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码