前言
✨✨✨ 如果您对这篇文章感兴趣,可以点击【导航页 - 访客必读】一文囊括主页所有优质博客 查看更多优质内容,希望可以帮您解决更多问题~。 ✨✨✨
Linux系统有时会存在中文乱码的问题,然而笔者发现,目前大多数教程都是硬生生给出命令操作,没有讲解原理以及注意事项。
本文将详细讲解Linux系统如何解决中文乱码的方法,本教程理论上适用于所有的Linux系统。
对于不同的系统,本文使用到的对应命令可能不同,需要大家结合具体的系统来进行操作,博客有任何错误或者大家有任何问题,都可以直接在评论区留言~
具体本篇文章的各种命令是基于Ubuntu18.04
的,如果您需要其他系统的详细教程,可以私信留言,我将尽可能为您更新相应系统的教程!
如果我的博客成功解决了您的问题,烦请一件三连 (▽),不胜感激!
基础知识
-
在Linux系统中,主要是通过设置
locale
来设置语言环境。 -
locale
中有各种各样的参数,在这里为大家介绍几个常见的:
参数 | 意义 |
---|---|
LANG | 所有LC_*变量的默认值。即只要有LC_开头的变量参数值为空,那么将以LANG参数的值进行赋值,否则以原参数值为准。 |
LANGUAGE | 设置应用程序的界面语言(例如程序的各种输出) |
LC_CTYPE | 控制所有字符的处理方式,包括字符编码、单字节or多字节等。 |
LC_ALL | 若此参数非空,那么所有的LC_*变量都将被设置为此参数值(直接覆盖)。 |
-
locale
的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8
,zh代表中文,CN代表大陆地区,UTF-8表示字符集。 -
基础命令
locale
- 1
会显示目前的locale
配置,例如:
详细步骤
操作前必看
1.首先明确自己的需求
-
如果只需要解决文本编辑器内的中文乱码问题,而保持操作系统的语言(默认是英语)不变,则只需要修改
LC_CTYPE
参数即可 -
如果想直接把整个操作系统都设置成中文,也是只需要修改
LC_ALL
参数即可 -
因为本篇文章针对新手小白 ,所以上述两种情况在专业人员眼中可能有些许暴论,专业人员根据自己的需求进行配置即可。
2.检查系统内是否有相应的字符集
- 查看当前系统中所有可用的
locale
locale -a
- 1
例如:
重点查找有没有我们需要的那个。(中文常用的为 zh_CN.utf8
)
- 如果我们想要的字符集缺失,按照下列步骤操作
首先安装语言环境库:
sudo apt install locales
- 1
然后打开语言环境列表:
sudo dpkg-reconfigure locales
- 1
我们会跳转到类似这个界面,选择我们想要的那个字符集就行。
选择好后就会自动生成了,例如下图:
方法一:临时修改
我们以只解决文本编辑器内的中文乱码问题
为例,若要修改整个操作系统,将下面的LC_CTYPE
改成LC_ALL
即可。
- 修改
LC_CTYPE
参数为中文
export LC_CTYPE="zh_CN.utf-8"
- 1
- 更新配置
source /etc/bash.bashrc
- 1
注意:重启或打开一个新的终端后,将重新回到原始的locale
配置。
方法二:永久修改
我们以只解决文本编辑器内的中文乱码问题
为例,若要修改整个操作系统,将下面的LC_CTYPE
改成LC_ALL
即可。
此方法的核心原理是:将方法一中的export
命令添加到~/.bashrc
文件中。
补充知识点: ~/.bashrc
是一个配置文件,每次启动一个新的终端时, ~/.bashrc
会被自动执行
- 打开
~/.bashrc
文件
nano ~/.bashrc
- 1
- 将下列命令添加到文件末尾
export LC_CTYPE="zh_CN.utf-8"
- 1
- 更新配置
source ~/.bashrc
- 1
常见问题及对应解决方案
目前还没遇到过问题…
欢迎大家将自己遇到的问题回复在评论区中,我会积极解答并将其补充到博客中,大家共同进步!
补充
1.Docker内的操作系统如何解决乱码问题
与一般的Linux系统没有任何区别,直接参照上文操作即可。
有任何疑问可以私信或留言。
评论记录:
回复评论: