Yuhang Zheng

Ubuntu系统ssh登陆后中文显示为十六进制数字的解决方法

N 人看过

今天在一个新的Ubuntu docker容器内git clone了一个git仓库,仓库中的提交内容是由中文写的,然后我是用git log命令去查看提交的时候发现中文都是十六进制的数字,无法正常显示中文

image-20230918085909469

原因:

一般出现中文乱码的原因有两种情况:

1、设置的默认语言不支持显示中文

2、系统没有安装中文语言包

解决方案

1、查看当前系统语言

$ echo $LANG

2、查看系统安装的语言包

$ locale -a 
C
C.UTF-8
POSIX

$ sudo dpkg -l | grep language-pack-zh-hans

3、如果没有中文语言包,需要安装

$ sudo apt-get install language-pack-zh-hans

4、安装成功后,确认是否安装成功

$ locale -a 
C
C.UTF-8
POSIX
zh_CN.utf8
zh_SG.utf8

$ sudo dpkg -l | grep language-pack-zh-hans
ii  language-pack-zh-hans                1:22.04+20230801                        all          translation updates for language Simplified Chinese
ii  language-pack-zh-hans-base           1:22.04+20230801                        all          translations for language Simplified Chinese

5、设置系统语言环境

// export 的方式只对当前终端生效
$ export LANG="zh_CN.UTF-8"

//  /etc/profile 文件中添加export LANG="zh_CN.UTF-8" 对所有用户生效
$ vim /etc/profile

之后再用git log去查看的时候就是正常的中文了

image-20230918090207218