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

Git(11)之log显示支持中文

Git(11)之log显示支持中文

Author:Once Day Date:2024年12月21日

漫漫长路有人对你微笑过嘛…

参考文档:GIT使用log命令显示中文乱码_gitlab的log在matlab里显示中文乱码-CSDN博客

全系列文章可查看专栏: Git使用记录_Once_day的博客-CSDN博客

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。人工智能学习网站 - 点击跳转。

文章目录

      • Git(11)之log显示支持中文
        • 1. 介绍
        • 2. 更改字符编码
          • 2.1 检查终端或系统的字符编码设置
          • 2.2 设置终端或系统的字符编码为UTF-8
          • 2.3 配置Git的输出编码:
          • 2.4 设置less命令编码
        • 3. 总结

1. 介绍

在Linux平台上使用Git时,有时会遇到git log命令输出中文乱码的问题。这通常是由于终端或系统的字符编码设置与Git的输出编码不匹配导致的。下面我们来详细了解一下这个问题的背景、使用情况以及解决方法。

Linux系统默认使用UTF-8编码,但有时终端或系统的字符编码设置可能与UTF-8不同,如ISO-8859-1、GB2312等。

Git在输出日志信息时,会使用默认的编码方式,通常是UTF-8。

当终端或系统的字符编码设置与Git的输出编码不一致时,就会导致中文乱码问题。

乱码的表现形式可能是中文字符显示为问号、方块或者其他奇怪的符号。

除了git log命令外,其他涉及到输出中文字符的Git命令也可能会受到影响,如git showgit blame等。

在这里插入图片描述

2. 更改字符编码
2.1 检查终端或系统的字符编码设置

在终端中执行以下命令来检查当前的字符编码设置:

ubuntu->easelog:$ echo $LANG
en_US.UTF-8

如果输出的编码不是UTF-8,如zh_CN.GB2312en_US.ISO-8859-1,则需要将其设置为UTF-8。

2.2 设置终端或系统的字符编码为UTF-8

在当前终端会话中,可以使用以下命令将字符编码临时设置为UTF-8:

export LANG=en_US.UTF-8

永久设置需要将以下行添加到用户主目录下的.bashrc文件中,以便在每次打开新的终端会话时自动设置字符编码为UTF-8:

export LANG=en_US.UTF-8
2.3 配置Git的输出编码:

如果你的终端或系统已经设置为UTF-8编码,但git log命令的输出仍然出现中文乱码,可以尝试配置Git的输出编码。

执行以下命令来配置Git的输出编码为UTF-8:

git config --global i18n.commitEncoding utf-8
git config --global i18n.logOutputEncoding utf-8

这将确保Git在输出日志信息时使用UTF-8编码。

2.4 设置less命令编码

LESSCHARSET=utf-8 是一个环境变量,用于指定 less 命令的字符编码。less 是一个命令行分页工具,用于查看文件内容或命令输出结果。当你使用 git log 命令查看提交历史记录时,Git 会将输出结果通过管道传递给 less 进行分页显示。

配置你的终端或控制台使用 UTF-8 编码:

  • 对于 Bash,打开 ~/.bashrc 文件,添加以下行:
    export LESSCHARSET=utf-8
    
  • 对于 Zsh,打开 ~/.zshrc 文件,添加以下行:
    export LESSCHARSET=utf-8
    

保存文件并重新加载配置:

source ~/.bashrc  # 对于 Bash
source ~/.zshrc   # 对于 Zsh

重新启动终端或控制台,使更改生效。再次运行 git log 命令,检查中文字符是否正常显示。

设置 LESSCHARSET=utf-8 后,less 命令将使用 UTF-8 编码来解析和显示文本内容,这有助于解决 git log 输出中文乱码的问题。

3. 总结

一般Linux环境下,使用下面两个命令即可避免中文乱码:

git config --global i18n.logOutputEncoding utf-8
export LESSCHARSET=utf-8

在这里插入图片描述

http://www.lryc.cn/news/510127.html

相关文章:

  • oneflow深度学习框架使用问题总结(Windows/Linux)
  • 论文研读:AnimateDiff—通过微调SD,用图片生成动画
  • SQLAlchemy示例(连接数据库插入表数据)
  • Springboot3国际化
  • 阿尔萨斯(JVisualVM)JVM监控工具
  • 框架专题:反射
  • 【Go】context标准库
  • LLMs之o3:《Deliberative Alignment: Reasoning Enables Safer Language Models》翻译与解读
  • git设置项目远程仓库指向github的一个仓库
  • 实战演练JDK的模块化机制
  • jdk17+springboot3项目加密部署
  • rm -rf 删除/下bin lib lib64 sbin软链接系统恢复
  • 并发与竞争
  • Java后端开发 ”Bug“ 分享——订单与优惠卷
  • Linux系统之tee命令的基本使用
  • idea 8年使用整理
  • 多个微服务 Mybatis 过程中出现了Invalid bound statement (not found)的特殊问题
  • k8s,service如何找到容器
  • 观察者模式和发布-订阅模式有什么异同?它们在哪些情况下会被使用?
  • docker compose deploy fate cluster
  • 字节跳动Java开发面试题及参考答案(数据结构算法-手撕面试题)
  • 网工日记:FTP工作模式
  • unity使用代码在动画片段中添加event
  • 嵌入式轻量级开源操作系统:HeliOS的使用
  • 解决VMware的ubuntu22虚拟机没有网络
  • 金属衬底介质片对平面波的反射-问题的解析求解和FEM求解
  • 2023 年 9 月青少年软编等考 C 语言四级真题解析
  • C++的内存四区
  • Java爬虫技术:按关键字搜索VIP商品详情
  • C++ —— 模板类与函数