当前位置: 首页 > news >正文

解决部分程序中文乱码的问题

最近在使用 Git Bash 时,我发现中文显示“乱码”。本文记录了整个问题的解决过程,希望能为遇到类似情况的朋友提供参考。


修改 Git Bash 的配置

首先,我怀疑是 Git Bash 自身的字符编码设置不正确。这是最常见的原因。

默认情况下,Git Bash 使用的终端编码可能是 CP936 (GBK),而 Git 输出的是 UTF-8,两者不匹配就会导致乱码。

  1. 在 Git Bash 窗口右键,选择 “Options”。
  2. 在左侧导航栏中,选择 “Text”。
  3. 在右侧的 “Character set” 部分,选择 “UTF-8”。
  4. 点击 “Apply” 然后点击 “Save”。
  5. 关闭并重新启动 Git Bash,使设置生效。
    在这里插入图片描述
    在这里插入图片描述

设置 Git 的全局编码

除了终端编码,Git 自身在处理日志、提交信息时也会涉及编码。

建议设置 Git 的全局编码为 UTF-8,以避免提交记录或日志乱码。尤其是第一条命令,它能防止 Git 在输出中文路径时自动转义成类似 \uXXXX 的形式,这是中文文件名乱码的主要原因之一。

# 设置 Git 不转义路径中的特殊字符(对中文至关重要)
git config --global core.quotepath false# 提交信息使用 UTF-8 编码
git config --global i18n.commitencoding utf-8# 日志输出使用 UTF-8 编码
git config --global i18n.logoutputencoding utf-8

此时,重新打开 Git Bash 并查看中文文件名或日志,理论上应该能正常显示。

我满怀期待地重启了 Git Bash……但遗憾的是,乱码依旧存在。


系统区域设置

我很快注意到,不仅是 Git Bash,我电脑上的其他一些程序(如我的手心输入法)也出现了中文乱码。

这让我意识到——这很可能是一个系统级别的字符编码问题。于是,修复方向转向了 Windows 的系统区域设置。

设置步骤

  1. Win+R 输入intl.cpl回车。
  2. 选择 管理更改系统区域设置
  3. 确保设置为:
    中文(简体,中国)
    
  4. 勾选 “Beta: 使用 Unicode UTF-8 提供全球语言支持(U)”
  5. 保存并重启电脑
    使用UTF-8
    我的Git Bash、输入法等均成功显示中文。
    Git显示正常
    输入法正常

升级 Git 版本

注意,如果是 Git 单独出问题,且经过上面的设置后仍未能解决,可以考虑升级 Git 版本试试能否解决。

可以通过以下命令查看版本:

git --version

你可以选择以下方式升级:

  • Git 官网下载安装:https://git-scm.com/downloads
  • 部分新版 Git 自带了一个命令:
    git update-git-for-windows
    
  • 使用包管理工具,如 Winget、Scoop、Chocolatey等

升级后再次打开 Git Bash,乱码问题可能会自然消失。


总结

问题原因对应解决方案
Git Bash 终端编码不匹配修改终端字符集为 UTF-8
Git 提交信息编码不一致设置 Git 全局编码:i18n.*core.quotepath false
Git 版本较旧升级至最新版本
系统未启用 UTF-8 支持修改系统区域设置并勾选“使用 Unicode UTF-8”

当你在多个程序中都发现中文乱码时,优先检查系统的“非 Unicode 程序语言”与“UTF-8 支持”是否开启。

http://www.dtcms.com/a/499074.html

相关文章:

  • 三次到达:理解二叉树非递归遍历
  • AI驱动的专业报告撰写:从信息整合到洞察生成的全新范式
  • JVM(Java虚拟机)~
  • 南充网站建设略奥网络地宝网招聘信息网
  • mmdetection训练 测试步骤
  • 【基础算法】01BFS
  • Openharmony应用开发之Ability异常退出与UIAbility数据备份开发实战
  • 我做了一个免费的 DeepResearch 网站,让科研变得更简单
  • 顺德大良那里做网站好福建省城乡和住房建设厅网站
  • 前端+AI:CSS3(二)
  • go邮件发送——附件与图片显示
  • AI+若依框架(基础篇)
  • 机器学习(2) 线性回归和代价函数
  • 基于Ollama和sentence-transformers,通过RAG实现问答式定制化回复
  • Sentinel:阿里云高并发流量控制
  • 从技术到商业:电商返利平台的核心指标设计(GMV、佣金率、留存率)与技术支撑体系
  • ShardingSphere 源码解析之分片引擎(下)
  • winxp下做网站网店设计美工培训
  • 【论文学习】大语言模型(LLM)论文
  • 做网站ssl证书必须要吗如何黑掉jsp做的网站
  • CLICKHOUSE分布式表初体验
  • 学习周报十八
  • 《Kubernetes 集群搭建全指南:从核心概念到环境部署!》
  • 找工作哪个网站好58同城做网站最简单的
  • 携程网站用js怎么做淄博哪家网络公司做网站好
  • Linux Shell 正则表达式中的 POSIX 字符集:用法与实战
  • MQTT协议,EMQX自建服务器
  • 力扣1287. 有序数组中出现次数超过25%的元素
  • Linux网络与路由配置完全指南
  • 【高并发服务器】六、日志宏的实现