使linux服务器默认使用中文字符集zh_CN.UTF-8

一.问题描述和相关概念

linux服务器的字符集设置可能影响到网站页面出现 “???” 等问号乱码,还有可能导致文件中的汉字部分出现乱码。

locales设置:语言设置选项
   linux真的是一个非常强大的系统,windows如果要更改语言系统,必须要重新安装软件, 这就是windows存在多国语言版 的原因。而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等终端可以解决的话,就没必要改了)

三.解决办法

环境:Ubuntu 12.04.5 LTS \n \l

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     //环境变量配置文件

添加下面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的话,执行此命令可能会报错哦,我试过了!

四.简单看下成果

1.locale 命令看下输出结果吧!

2.也可以进入  /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 可以查看操作系统支持的字符集。

时间: 2024-08-27 06:26:51

使linux服务器默认使用中文字符集zh_CN.UTF-8的相关文章

解决linux服务器上matplotlib中文显示乱码问题

报错信息: UserWarning: findfont: Font family [u'sans-serif'] not found. Falling back to DejaVu Sans 找不到字体,在绘制的图片中中文显示乱码 解决方法: 1. 查看配置路径: import matplotlib print (matplotlib.matplotlib_fname()) 2. 下载字体:simhei.tff : http://www.font5.com.cn/font_download.ph

ubuntu中文乱码--添加中文字符集

在Ubuntu支持中文后(方法见上篇文章),默认是UTF-8编码,而Windows中文版默认是GBK编码.为了一致性,通常要把Ubuntu的默认 编码改为GBK.当然你也可以不改,但这会导致我们在两个系统之间共享文件变得非常不方便,Samba共享的文件也总会有乱码出现.总不能每次传完文件都 人肉转码一次吧. ubuntu转码需要分为几个部分分别进行: 1. 系统级 Ubuntu默认是不支持GBK的.这里若不更改,则后续步骤均无法生效. 添加中文字符编码: $sudo vim /var/lib/l

使用ssh公钥密钥自动登陆linux服务器

作为一名 linux 管理员,在多台 Linux 服务器上登陆进行远程操作是每天工作的一部分.但随着服务器的增多,每次登陆,系统都会提示输入用户名和密码,频繁的输入用户名和密码是一件让人很烦的事情.也许有人说可以用一些客户端工具,比如:SecureCRT 等,的确使用这些软件会方便很多,但是这些软件不是价格昂贵的商业软件就是依附于特定平台才能安装使用,所以我今天介绍的是使用 ssh 自带的功能实现使用客户端工具所能带来的便利,那就是使用 ssh 的公钥密钥实现自动登陆. 测试环境:操作系统:Re

20个Linux服务器性能调优技巧

Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式进程,响应时间并不是那么重要,相反,能够长时间处理高负载才是最关键的. Linux高可用服务器集群解决方案让IT系统管理员可以从容应对许多常见的硬件和软件故障,允许多台计算机一起工作,为关键服务正常运行提供保障,系统管理员可以不中断服务执行维护和升级.Linux服务器有各种用途

[转]20个你不得不知的Linux服务器性能调优技巧

Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式进程,响应时间并不是那么重要,相反,能够长时间处理高负载才是最关键的.Linux高可用服务器集群解决方案让IT系统管理员可以从容应对许多常见的硬件和软件故障,允许多台计算机一起工作,为关键服务正常运行提供保障,系统管理员可以不中断服务执行维护和升级. Linux服务器有各种用途

cacti中文安装配置与监控wWindows Server和Linux服务器

Cacti做为当今天运维人员的主流监控工具已经应该很广泛了,下面我就来把我的安装步骤罗列如下; (1).Cacti安装之前要准备Linx平台下的Web架构: (2).Linux下的Web搭建的方法如下; [[email protected] ~]# yum -y install httpd mysql-server php php-mysql gd net-snmp php-snmp net-       snmp-utils net-snmp-devel mysql-devel  openss

Parallels Plesk 12 一款来自国外但支持中文的Linux服务器管理面板

在网上找了好久的Linux服务器管理面板,国内的界面要么太丑,要么就是功能太少,不过有一个例外就是 zijidelu (也叫LuManager),个人觉得zijidelu应该是国内主机面板中做得最好的,用三年了,真的就是谁用谁知道,可惜的是到2013年的时候就停止更新了,因为有那么点担心一直不更新的话,会不会有漏洞,所以想换个在不断迭代的成熟产品. 收费可以,最主要是好用,界面交互友好. 国内的用得不放心,就找国外的,找了一大圈,最后锁定在以下几款: cPanel(功能多,界面一般,据说全球排名

Linux服务器安全配置

众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Internet上来自世界各地的志愿者会踊跃修补它.然而,系统管理员往往不能及时地得到信息并进行更正,这就给黑客以可乘之机.相对于这些系统本身的安全漏洞,更多的安全问题是由不当的配置造成的,可以通过适当的配置来防止.服务器上运行的服务越多,不当的配置出现的机会也就越多,出现安全问题的可能性就越大.对此,下

解决linux系统中查看中文乱码问题

字符集就是一套文字符号及其编码.常用的字符集有:GBK 定长 双字节 不是国际标准,支持的系统不少UTF-8 非定长 1-4字节广泛支持,MYSQL也使用UTF-8当然了,字符集还有很多,以后再深入学习这部分内容. ①linux系统下的字符集由变量LANG控制. [[email protected] ~]# echo $LANG zh_CN.GB18030 ②export LANG="ZH_CN.GB18030"(临时变更字符集,重启后失效) ③在/etc/sysconfig/i18n