Bootstrap

当Linux配置zh_CN.UTF-8 ,中文还是显示乱码解决办法


这篇博客主要说明出现问题的原因和解决思路。

一、修改系统编码为utf-8

1、查看当前编码

一般使用locale 或者 echo $LANG命令,效果如下:

schillerxu$ locale
LANG="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_CTYPE="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_ALL=
2、配置编码

可以修改/etc/profile 全局配置文件,也可以修改~/.bash_profile 当前用户的配置文件,在文件中添加以下内容即可:

export LC_ALL="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"

然后source /etc/profile 或者source ~/.bash_profile让配置文件生效。

二、出现问题的可能原因

1、服务器没有安装zh_CN.UTF-8 字符集

安装对应的软件包就可以,可以参考这篇博客服务器utf-8乱码_Ubuntu Zh_CN_UTF8 设置

当然,为了避免出现这个问题,你也可以先用locale -a命令查看下本机支持的字符集,效果如下:

$ locale -a|grep zh
zh_CN.UTF-8
zh_HK
zh_TW
zh_CN.GB2312
zh_CN.GBK
zh_CN.GB18030
zh_CN
zh_TW.Big5
zh_TW.UTF-8
zh_CN.eucCN
zh_HK.UTF-8
zh_HK.Big5HKSCS
2、远程登录软件字符设置

一般都是用SecureCRT或者Xshell等软件登录远程服务器,所以登录软件的字符设置也会影响显示效果,有可能造成中文乱码。

这里只提供一个可能的思路,操作自行查询即可。

;