在linux的系统中经常碰到字符集导致的错误,下面总结了设置修改系统语言环境的方法。
1.环境变量LANG用于设置系统的语言环境。
当启动某些perl、php或其他编程的语言的程序文档时,
其都会主动去分析环境变量LANG的数据,
如果发现无法解析字符编码,可能会出现乱码或错误。
一般中文编码通常是zh_CN.UTF-8(简体中文)或者zh_TW.UTF-8(繁体中文),英文的字符集编
码一般为en_US/en_US.UTF8
目前大多数的linux distributions已经都是支持万国码(UTF-8),也都支持大部分国家的语
言。
这主要是i18n文件。
可使用locale -a命令查看linux系统支持多少语言。
可使用locale命令查看当前系统的语言环境。
[root@nis1 ~]# locale
LANG=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_ALL= ##整体语言环境
一般来说:设置LANG和LC_AL即可,其他变量也会随之而改变。
可使用如下命令临时调整系统字符集为英语:
export LC_ALL=en_US-UTF-8
2.设置语言相关的几个文件:
/usr/lib/locale/:目录存放locale列出的语言文件。
/etc/sysconfig/i18n:是设置系统字符集的的文件。
不管你装的是中文版,还是英文版.删掉原来的设置,把下面的拷贝过去。
即可将系统的语言设置为简体中GB18030字符集。
vi /etc/syscnfig/i18n
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
注:
第一行设置当前系统语言环境
第二行表明系统预设了哪些语言支持,不在项目中的语言不能正常显示
第三行定义控制台终端字体,文本(tty终端)登录的时候显示的字体就是这个 latarcyrheb-
sun16
I18N是international(国际的)的缩写,即在i和n之间有18个字母,
I18N支持多中语言,不过同一时间只能是英文和一种选定的语言,如:英文+中文