Linux 修改为简体中文
Synopsis: 通过设置 LANG 和 LC_ALL 两个环境变量来修改 Linux 系统的语言为简体中文,并演示如何解决 GBK 文件名、GBK 文件内容乱码问题
1. 查看当前系统语言及编码方案
如果你在安装 Linux 时,语言及键盘选择的是 English 的话,那么此时系统默认的语言及编码为 en_US.UTF-8
,表示语言使用美国英语,编码方案为 UTF-8
[root@CentOS ~]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
比如下面的输出中,时间为英文:
2. 修改为简体中文
如果你想使用中文语言的话,首先需要查看系统支持的语言是否包含中文,正常情况下是有的:
[root@CentOS ~]# locale -a | grep zh zh_CN zh_CN.gb18030 zh_CN.gb2312 zh_CN.gbk zh_CN.utf8 zh_HK zh_HK.big5hkscs zh_HK.utf8 zh_SG zh_SG.gb2312 zh_SG.gbk zh_SG.utf8 zh_TW zh_TW.big5 zh_TW.euctw zh_TW.utf8
那么我们可以设置为 zh_CN.utf8
来使用 简体中文
且默认编码方案还是选择 UTF-8
:
1. 设置临时环境变量 [root@CentOS ~]# export LANG=zh_CN.utf8 [root@CentOS ~]# export LC_ALL=zh_CN.utf8 2. 查看 [root@CentOS ~]# locale LANG=zh_CN.utf8 LC_CTYPE="zh_CN.utf8" LC_NUMERIC="zh_CN.utf8" LC_TIME="zh_CN.utf8" LC_COLLATE="zh_CN.utf8" LC_MONETARY="zh_CN.utf8" LC_MESSAGES="zh_CN.utf8" LC_PAPER="zh_CN.utf8" LC_NAME="zh_CN.utf8" LC_ADDRESS="zh_CN.utf8" LC_TELEPHONE="zh_CN.utf8" LC_MEASUREMENT="zh_CN.utf8" LC_IDENTIFICATION="zh_CN.utf8" LC_ALL=zh_CN.utf8
现在系统将使用简体中文了:
上面的配置只对当前会话有效,如果想一直生效的话:
[root@CentOS ~]# echo "export LANG=zh_CN.utf8" >> ~/.bashrc [root@CentOS ~]# echo "export LC_ALL=zh_CN.utf8" >> ~/.bashrc
3. 中文文件名乱码
如果你在 Windows 简体中文系统中(默认编码使用 ANSI/OEM - 简体中文 GBK
),新建了一个名称为 "China我爱你.txt" 的文件,然后通过 SSH 上传到 Linux 上,却发现文件名变成了:
这是因为文件名中的 我爱你
三个字符是用 GBK
编码的,而 Linux 中我们设置的是 UTF-8 编码方案,它没办法正确 解码
出 GBK 编码后的字节序列,所以乱码了
此时,要么在 Linux 上安装 convmv
软件,可以用来转换 文件名 中的编码:
[root@CentOS ~]# yum -y install convmv [root@CentOS ~]# convmv --notest -f gbk -t utf8 China?Ұ???.txt
或者在 Windows 上通过 Xftp 等程序连接 Linux,由于 Xftp 程序会默认使用当前操作系统所使用的编码方案(GBK),所以你能够在 Xftp 中看到正确的文件名,然后也可以选择修改它为英文文件名即可
4. 查看 GBK 文件的内容
在 Linux 中我们设置的是 UTF-8 编码方案,通过 cat
命令来查看 GBK 文件的内容时会显示乱码!可以用 iconv
命令转换 文件内容 的编码方案:
1. 乱码 (把Xshell的编码改成GBK后,能够正常显示GBK文件内容) [root@CentOS ~]# cat 1-GBK.txt Hello£¬ˀ½ 2. 临时转换并输出: [root@CentOS ~]# cat 1-GBK.txt | iconv -f GBK -t UTF-8 Hello,世界 3. 保存到新文件中: [root@CentOS ~]# iconv -f GBK -t UTF-8 -o 2-conv-GBK-to-UTF8.txt 1-GBK.txt [root@CentOS ~]# cat 2-conv-GBK-to-UTF8.txt Hello,世界
如果通过 Vim
来查看或编辑 GBK 文件时,由于 Vim 默认也是使用 UTF-8 编码方案来解码文件的,所以也是显示乱码。此时,需要修改 ~/.vimrc
添加如下行:
" 字符编码 set encoding=utf-8 " 打开文件时,自动从下面的列表中选择正确的编码方案进行解码 [Decode] set fileencodings=utf-8,ucs-bom,cp936,gb18030,big5,euc-jp,euc-kr,latin1 set helplang=cn
再次用 Vim 打开 GBK 文件时,就能正常显示内容了
0 条评论
评论者的用户名
评论时间暂时还没有评论.