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

embedded/2025/2/22 20:10:32/

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/embedded/164430.html

相关文章

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别

引言 随着人工智能技术的飞速发展,人脸情感识别技术逐渐成为人机交互、智能监控等领域的重要研究方向。然而,传统的人脸情感识别方法往往受限于数据集的规模和模型的泛化能力。为了提升人脸情感识别的准确性和鲁棒性,本文采用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以…

Cannot import to svn: ‘C:\Program‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

原文链接:在Idea上操作SVN报错:Error:‘C:\Program’ 不是内部或外部命令,也不是可运行的程序 或批处理文件 C:\Program Files\TortoiseSVN\bin\svn.exe中的空格无法识别,改为:C:\progra~1\TortoiseSVN\bin\svn.exe…

软件架构设计:软件工程

一、软件工程概述 软件工程的定义 软件工程是应用系统化、规范化、可量化的方法开发、运行和维护软件。 软件工程的目标 提高软件质量、降低开发成本、缩短开发周期。 软件生命周期 瀑布模型:需求分析→设计→编码→测试→维护。迭代模型:分阶段迭代开…

Git 中 rebase, squash, amend 的作⽤

在 Git 中,rebase、squash 和 amend 是常用的操作,它们都有各自的作用,主要用于修改和优化提交历史。下面是它们的详细解释: 1. rebase rebase 是将当前分支的修改“重放”到另一个分支的顶部。它会修改提交历史,使得…

资本资产定价模型(CAPM, Capital Asset Pricing Model)通俗解析

现代资产定价理论:CAPM模型通俗解析 📉📊💡 在金融领域,如何定价一个资产(如股票、债券等)是一个至关重要的问题。而 资本资产定价模型(CAPM, Capital Asset Pricing Model&#xf…

EasyPoi系列之框架集成及基础使用

EasyPoi系列之框架集成及基础使用 1 EasyPoi1.1 gitee仓库地址 2 EasyPoi集成至SpringBoot2.1 maven引入jar包 3 EasyPoi Excel导出3.1 基于实体对象导出3.1.1 Excel 注解3.1.2 编写实体3.1.3 编写导出方法3.1.4 导出效果 3.2 基于模板导出3.2.1 编写模板文件3.2.2 编写导出方法…

可视化工具SciChart如何结合Deepseek快速创建一个React仪表板?

SciChart JavaScript Charts图表库能帮助用户来探索JS应用程序的最终解决方案,使用WebGL创建动态、高速的图表和图形,非常适合实时处理复杂的数据可视化,使用其强大而灵活的JS图表工具可以提升JavaScript项目。 通过在1000多个输出类型上使用…

深入理解WebSocket接口:如何使用C++实现行情接口

在现代网络应用中,实时数据传输变得越来越重要。通过WebSocket,我们可以建立一个持久连接,让服务器和客户端之间进行双向通信。这种技术不仅可以提供更快的响应速度,还可以减少不必要的网络流量。本文将详细介绍如何使用C来实现We…