YYDS
发布于

Ubuntu20.04 Zh_CN_UTF8 设置

Ubuntu20.04 Zh_CN_UTF8 设置

一.问题描述和相关概念 Linux 编码非UTF8 编码,导致R server无法正常显示

locales设置:语言设置选项

Linux可以通过locales设置,将linux从英文版更改为中文版,下面我们来看看如何更改语言设置。

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

locale 执行这个命令,查看和语言编码有关的环境变量

显示如下:

LANG= LANGUAGE=en_US:en LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= 可以看到大多数都默认为POSIX 类型的,这时可以改服务器的默认字符集为zh_CN.UTF-8(我测试过改了没问题哦,可以解决汉字乱码问题。如果能通过设置SecureCrt等终端可以解决的话,就没必要改了)

三.解决办法 1.安装基本的软件包(第2步安装 zh_CN 中文字符集时要用到) sudo apt-get update //ubuntu系统更新软件包列表 sudo apt-get install -y language-pack-zh-hans sudo apt-get install -y language-pack-zh-hant 2.安装字符集 cd /usr/share/locales

sudo ./install-language-pack zh_CN //开始安装zh_CN中文字符集

3.编辑 sudo vim /etc/environment 环境变量配置文件 sudo vim /etc/environment

添加下面zh_CN.UTF-8有关的环境变量,添加完就变成默认的了哦:

LANG=zh_CN.UTF-8 LANGUAGE=en_US:en 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 4.重新登录一次shell source /etc/environment //使刚才添加的环境变量生效。如果不重新登录shell的话,执行此命令可能会报错哦,我试过了!

四.简单看下成果 locale命令看下输出结果吧!

也可以进入 cd /var/lib/locales/supported.d

cat local

显示:

en_US.UTF-8 UTF-8

zh_CN.UTF-8 UTF-8

而没有安装中文之前只显示:

en_US.UTF-8 UTF-8

注:locale -a 可以查看操作系统支持的字符集。

评论