让英文版的LINUX 支持中文显示
(以REDHAT为例)
1.首先查看系统中有没有安装中文支持软件包
rpm -qa |grep fonts-chinese
如果命令执行后能够查询到相应的包,那么说明已经安装过包;反之则没有安装
没有安装的话,需要下载系统支持的相应的rpm包,进行安装
2.设置环境变量
修改/etc/sysconfig/i18n文件为如下内容(红色内容):
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
3.重启机器生效。
注:如果要恢复纯英文把该文件改为如下内容即可(红色内容)
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
首先,解释一下字符集:
汉字编码:
* GB2312字集是简体字集,全称为GB2312(80)字集,共包括国标简体汉字6763个。 * BIG5字集是台湾繁体字集,共包括国标繁体汉字13053个。 * GBK字集是简繁字集,包括了GB字集、BIG5字集和一些符号,共包括21003个字符。 * GB18030是国家制定的一个强制性大字集标准,全称为GB18030-2000,它的推出使汉字集有了一个“大一统”的标准。
ASCII:
American Standard Code for Information Interchange,美国信息交换标准码。 目前计算机中用得最广泛的字符集及其编码,由美国国家标准局(ANSI)制定。 它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。 ASCII字符集由控制字符和图形字符组成。 在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。 所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。 奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1。 偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
UTF:
Unicode 的实现方式不同于编码方式。 一个字符的Unicode编码是确定的,但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。 Unicode的实现方式称为Unicode转换格式(Unicode Translation Format,简称为 UTF)。 * UTF-8: 8bit变长编码,对于大多数常用字符集(ASCII中0~127字符)它只使用单字节,而对其它常用字符(特别是朝鲜和汉语会意文字),它使用3字节。 * UTF-16: 16bit编码,是变长码,大致相当于20位编码,值在0到0x10FFFF之间,基本上就是unicode编码的实现,与CPU字序有关。
注意:ASCII char (2) ;UTF-8 宽字符 wchar 4倍 。兼容性最好的编码就是UTF-8! 毕竟GBK/GB2312是国内的标准,当我们大量使用国外的开源软件时,UTF-8才是编码界最通用的语言。
在Linux中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。在locale环境中,有一组变量,代表国际化环境中的不同设置:
1. LC_COLLATE
定义该环境的排序和比较规则
2. LC_CTYPE
用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。
3. LC_MONETARY
货币格式
4. LC_NUMERIC
非货币的数字显示格式
5. LC_TIME
时间和日期格式
6. LC_MESSAGES
提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。
7. LANG
LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。
8. LC_ALL
它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。
一个例子:
设置前,使用默认locale:
[root@db-wanggaofei ~]# locale
LANG="POSIX"
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=
设置后,使用zh_CN.GDK中文locale:
[root@db-wanggaofei ~]# export LC_ALL=zh_CN.GBK
[root@db-wanggaofei ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=zh_CN.GBK
"C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。
在Debian中安装locales的方法如下:
· 通过apt-get install locales命令安装locales包
· 安装完成locales包后,系统会自动进行locale配置,你只要选择所需的locale,可以多选。最后指定一个系统默认的locale。这样系统就会帮你自动生成相应的locale和配置好系统的locale。
· 增加新的locale也很简单,用dpkp-reconfigure locales重新配置locale即可。
· 我们也可手动增加locale,只要把新的locale增加到/etc/locale.gen文件中,再运行locale-gen命令即可生成新的locale。再通过设置上面介绍的LC_*变量就可设置系统的locale了。下是一个locale.gen文件的样例。
· # This file lists locales that you wish to have built. You can find a list
· # of valid supported locales at /usr/share/i18n/SUPPORTED. Other
· # combinations are possible, but may not be well tested. If you change
· # this file, you need to rerun locale-gen.
· #
·zh_CN.GBK GBK
·zh_CN.UTF-8 UTF-8
-----------------------------------------
在我看来只要搞清楚LANG和SUPPORTED就OK了,其他可能平时也用不太多。再参考篇文章,如下,是讲如何设置环境变量的。
-------------------------------------------
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
修改后的/etc/sysconfig/i18n 文件为:
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
LC_ALL="en_US.UTF-8"
export LC_ALL
设置完毕后重启或者用rc.local使生效
或修改登录用户的.bash_profile文件加入
export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
-----------------------------------------------------------------------------------------------
一定要知道Windows XP 是GB2312的编码,如果你的服务器字符集不是这个,估计就会是乱码,所以要调整。
有些人在调整的时候,说我改了系统环境变量,结果造成用户内容显示乱码,无非解决的方法就是两个:
1.用iconv转化为目前的编码
2.用你原来使用的编码
看了这两条,你肯定必须要明确,你原来的字符编码是如何的。说来说去,无非就是LANG SUPPORTED 和你原文件字符集的编码:)
当然了locale -a你可以看看目前系统里支持的字符集,如果不支持,还要安装。
相关文章推荐
Linux部分精彩文章推荐
|
让英文版的LINUX 支持中文显示相关推荐
- linux系统可以显示中文输入法,2 Linux支持中文显示和中文拼音输入法(番外篇)...
今天打开虚拟机 linux 本来要整理笔记 发现Linux不支持中文.修改了/etc/sysconfig/i18n也不好使. 后来我猜想是没有装中文语言包,上网一查果然是这样. 装语言包: 1找到r ...
- [django]Django站点admin支持中文显示和输入设置
正文: Django站点admin支持中文输入设置,操作如下: 1 需要确定的你的数据库的client客户端和服务端的编码设置为utf-8,如果不是,请将其设置成utf-8编码,我采用mysql,详情 ...
- 让黑莓模拟器支持中文显示
黑莓模拟器不支持中文显示和输入,调试中文程序的时候出现方块,解决方法如下: [首先找到模拟器安装目录] 情况一:如果使用的是bb jde for eclipse plugins的话,找到eclipse ...
- 一百零二、Hive——hive设置元数据支持中文显示
在hive中建外部表时遇见到这样一个问题,就是表字段的中文注释在desc 表结构时看不了,发现原来是Hive的元数据库没有设置支持中文显示 第一步,在元数据库metastore完成初始化后,再次登录M ...
- svn自动邮件提醒(win7下支持中文显示,使用commit-emial.pl)
1 前提:已安装svn,假设已有版本库名称为 :share 2 安装perl并重新启动. 下载并安装 ActivePerl-5.14.2.1402-MSWin32-x86-295342.ms ...
- Linux下中文显示乱码 -- linux编码转换
工欲善其事 必先利其器 Linux在稳定运行服务器的方面 一直是霸主 如此优秀 优秀 优秀的 人类高质量机器(狗头) ~~~~~~~~~~~~优雅~~~~~~~~~~~~ Linux下中文显示乱码,即 ...
- QT嵌入式QT支持中文显示(zynq)
@QT嵌入式QT支持中文显示 开发板可以使用文泉驿字体.在如下链接下载wqy-zenhei-0.8.38-1.tar.gz https://sourceforge.net/projects/wqy/f ...
- Xshell4连接Linux系统中文显示乱码解决办法
如何解决XShell连接linux中文乱码问题 首先,在你打开的XShell工具当中点击菜单栏中的文件-->属性,如下图所示: 然后在弹出的界面中选择终端,然后编码选择Unicode(UTF-8 ...
- OpenCV文字绘制支持中文显示
OPenCV版本:4.4 IDE:VS2019 功能描述 OpenCV绘制文本的函数putText()不支持中文的显示,网上很多方法推荐的都是使用FreeType来支持,FreeType是什么呢?Fr ...
最新文章
- 浅谈Laravel中的设计模式(四) Contract 契约模式
- IsIconic(判断窗口是否最小化)
- Maven环境下实现Web工程自动部署到Tomcat
- Laravel 框架安装
- Redis 是怎么实现 “附近的人” 的?
- Excel完成将多行多列数据转化为一列
- javascript学习系列(23):数组中的解构方法
- python mkdir -p_Python中的mkdir -p功能[复制]
- 2个线程共同处理冒泡排序 Linux 双线程处理
- HDU 5015 233 Matrix 矩阵快速幂
- JAVAWEB NOTE 3
- Clickhouse基础语法、数据类型、数据表引擎学习
- 单片机的软件定时器的设计原理是什么?
- windows xp sp3系统下载
- 数据库统计函数 COUNT
- 17_微信小程序之抖音微视无限滑动视频列表自定义组件编写
- IDEA Windows + Mac 快捷键(全)
- iOS storyboard 用法详解
- DJ9-3 DMA 方式
- IT行业能干到多少岁?
热门文章
- Mozilla 重磅推出物联网平台 WebThings!| 极客头条
- 华米OV 万亿 IoT 争夺战
- 滴滴柳青探望被害司机家属;支付宝信用卡还款收费;ofo 查处 8 起贪腐案件 | 极客头条...
- 雅虎辉煌不再,紫色血液永存
- “非死不可”Facebook
- TIOBE 3 月编程语言排行榜:Ruby 重回前十,Kotlin 突围
- 如何应对缓存穿透和缓存雪崩问题?极其重要
- Redis 性能问题排查:slowlog 和排队延时
- R语言安装ccgarch_R语言基于ARMA-GARCH过程的VaR拟合和预测
- 音乐 美术 劳技 计算机教研组工作总结,美术劳技室工作总结