IntelliJ IDEA 控制台输出中文出现乱码

server/2025/2/23 1:51:31/

IntelliJ IDEA 控制台输出中文出现乱码通常是由于编码设置不一致导致的。以下是常见原因及解决方法

1. 项目编码设置

  • 检查路径File → Settings → Editor → File Encodings
    • 确保 Project EncodingGlobal Encoding 和 Default Encoding for Properties Files 均设置为 UTF-8
    • 勾选 Transparent native-to-ascii conversion(针对 .properties 文件)。

2. 控制台输出编码

  • 修改运行配置
    • 点击运行配置名称(右上角)→ Edit Configurations...
    • 在 VM options 中添加:-Dfile.encoding=UTF-8
    • 保存后重新运行程序。

3. IDE 全局编码

  • 如果新建项目时仍乱码,检查 IntelliJ IDEA 的全局默认编码:
    • 打开安装目录下的 bin 文件夹(如 C:\Program Files\JetBrains\IntelliJ IDEA\bin)。
    • 编辑 idea64.exe.vmoptions 文件,添加:-Dfile.encoding=UTF-8

4. 系统环境变量

  • Windows 用户
    • 添加系统环境变量:JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF-8
    • 或临时在命令行执行:chcp 65001(将终端切换为 UTF-8 代码页)。

上述是常见的乱码解决方案,但是更改之后仍然是乱码。需要进一步排查

如果在完成环境变量修改或其他设置后,程序或系统界面仍显示乱码(如方框、问号、无法识别的符号等),通常与字符编码、系统区域设置或字体支持有关。以下是常见原因及解决方法:


一、常见乱码原因

  1. 系统区域语言设置错误

    • 非 Unicode 程序(如部分旧软件)的默认编码与系统不匹配。
    • 示例:中文系统默认编码为 GBK,但程序使用 UTF-8,导致文本显示异常。
  2. 环境变量编码配置冲突

    • 若通过环境变量强制指定了编码(如 JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"),但程序或终端不支持该编码。
  3. 终端/编辑器编码设置错误

    • 命令行工具(CMD、PowerShell)或代码编辑器未使用与文本内容一致的编码格式。
  4. 字体缺失或不兼容

    • 系统缺少显示特定语言字符的字体(如中文字体、日文字体)。
  5. 文件自身编码问题

    • 文件保存时使用了与当前环境不兼容的编码格式。

二、解决方案

1. 检查系统区域设置
  • 步骤
    1. 按下 Win + R,输入 intl.cpl → 打开 “区域设置”
    2. 进入 “管理” 选项卡 → 点击 “更改系统区域设置”
    3. 确保勾选 “Beta 版: 使用 Unicode UTF-8 提供全球语言支持”(Win10/11 支持)。
    4. 如果未勾选,可尝试勾选后重启系统(适合现代程序)。
      (若勾选后部分旧软件乱码,取消勾选并选择本地语言,如“中文(简体, 中国)”)

 

在这一步成功了解决问题!!!!! 

2. 修复环境变量中的编码冲突
  • 如果通过 JAVA_TOOL_OPTIONS 等变量强制指定了编码:
    1. 检查是否多余设置了编码参数(如同时指定 UTF-8 和 GBK)。
    2. 尝试删除或注释环境变量中的编码参数,观察乱码是否消失。
3. 调整命令行终端的编码
  • CMD 默认编码为 GBK

    :: 临时切换为 UTF-8
    chcp 65001
    :: 修改后检查当前编码页
    chcp
    • 若需永久生效,可修改注册表或使用第三方终端(如 Windows Terminal)。
  • PowerShell

    # 设置输出编码为 UTF-8
    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
4. 检查程序/编辑器的编码设置
  • 代码编辑器(如 VS Code、Notepad++)

    1. 右下角状态栏检查当前文件编码(如 UTF-8GBK)。
    2. 手动选择与文件内容一致的编码格式并保存。
  • IDE(如 IntelliJ、Eclipse)

    1. 进入设置 → 搜索 File Encoding → 确保全局和项目编码一致(推荐 UTF-8)。
5. 安装缺失的字体
  • Windows 字体库检查

    1. 打开 C:\Windows\Fonts,检查是否包含中文字体(如 微软雅黑SimSun)。
    2. 若缺失,从官网下载字体文件,右键安装。
  • 浏览器/应用指定字体

    1. 在浏览器设置中调整默认字体(如 Chrome → 设置 → 外观 → 自定义字体)。
6. 文件编码转换
  • 使用工具将文件转换为系统支持的编码:
    1. Notepad++:打开文件 → 菜单栏 编码 → 转换为目标编码 → 保存。
    2. VS Code:右下角选择编码 → 保存。

 

 


http://www.ppmy.cn/server/170002.html

相关文章

H3C交换机路由器防火墙FTP/TFTP服务器搭建。

软件介绍。 3CDaemon 2.0 - Download 3CDaemon 是一款集成了多种网络服务功能的工具软件,主要用于网络管理和文件传输,支持TFTP、FTP、Syslog等多种协议,广泛应用于网络设备的配置和管理。 1. 主要功能 TFTP服务器:支持TFTP协议…

【练习】【二分】力扣热题100 74. 搜索二维矩阵

题目 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 fals…

第四届图像、信号处理与模式识别国际学术会议(ISPP 2025)

重要信息 会议官网:www.icispp.com 会议时间:2025年3月28-30日 会议地点:南京 简介 由河海大学和江苏大学联合主办的第四届图像、信号处理与模式识别国际学术会议(ISPP 2025) 将于2025年3月28日-30日在中国南京举行。会议主…

hive—常用的函数整理

1、size(split(...))函数用于计算分割后字符串数组的长度 实例1):由客户编号列表计算客户编号个数 --数据准备 with tmp_test01 as ( select tag074445270 tag_id,202501busi_mon , 012399931003,012399931000 index_val union all select tag07444527…

P8752 [蓝桥杯 2021 省 B2] 特殊年份——string提取索引转换为值

这里写目录标题 链接题目代码大佬解答string提取索引转换为值 链接 P8752 [蓝桥杯 2021 省 B2] 特殊年份 题目 代码 #include <iostream> #include <vector> #include <string> #include <algorithm> #include <math.h> #include <queue&g…

《Operating System Concepts》阅读笔记:p62-p75

《Operating System Concepts》学习第 10 天&#xff0c;p62-p75 总结&#xff0c;总计 14 页。 一、技术总结 1. system call (1) 定义 The primary interface between processes and the operating system, providing a means to invoke services made available by th…

51单片机-按键

1、独立按键 1.1、按键介绍 轻触开关是一种电子开关&#xff0c;使用时&#xff0c;轻轻按开关按钮就可使开关接通&#xff0c;当松开手时&#xff0c;开关断开。 1.2、独立按键原理 按键在闭合和断开时&#xff0c;触点会存在抖动现象。P2\P3\P1都是准双向IO口&#xff0c;…

✨ 索引有哪些缺点以及具体有哪些索引类型

索引的定义与原理 索引是数据库中用于提高数据检索效率的数据结构。它就像是书籍的目录&#xff0c;通过目录可以快速定位到所需内容的页码&#xff0c;而在数据库中&#xff0c;索引可以帮助数据库系统快速找到符合查询条件的数据行&#xff0c;而不必对整个表进行扫描。 其…