首页 > 技术文章 > Linux系统修改默认语言环境为zh_CN.UTF-8字符集,解决中文乱码问题

BillyLV 2021-09-07 09:58 原文

原因:

简单的说是因为服务器没有安装zh_CN.UTF-8 字符集,导致不支持中文!

 

解决办法

环境:CentOS7. 无GUI安装。

          默认安装英文。

首先查询语言环境:

# locale

# locale -a 可以查看支持的字符集。

# locale -a |grep -i cn


1.临时修改:

# export LANG=zh_CN.UTF-8


2.永久修改:

# vim /etc/locale.conf
or
# localectl set-locale LANG=zh_CN.UTF8
   更改为zh_CN.UTF-8,重启。

# reboot

---------------------

下面可忽略:
3.发现重启之后 .locale 和 locale.conf 都是 en_US.UTF-8.

4.centos7 在开机初始化时,locale.conf  来自 /etc/profile.d/lang.sh 的加载。

5.打开 lang.sh脚本。

 

即使修改成zh_CN.UTF-8之后,加载脚本时仍然会初始化为en_US.UTF-8.

6.修改之后,重启。

 

更改时区:
ln -sf localtime /usr/share/zoneinfo/Asia/Shanghai

 

参考:

https://blog.csdn.net/liguangxianbin/article/details/79814964

 

 

环境:Ubuntu 14

1.安装基本的软件包(第2步安装 zh_CN 中文字符集时要用到)

sudo apt-get update     //系统更新软件包列表

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

sudo apt-get install -y language-pack-zh-hant   (安装zh_HK和zh_TW)

 

2. 在/etc/profile或/etc/bash.bashrc文件添加如下内容

# cat /etc/profile |grep -i cn
export LANG="zh_CN.UTF-8"
export LANGUAGE="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

 

3.source /etc/profile 查看是否生效

# locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8

 

推荐阅读