Linux下中文显示乱码_字符集设置

1)语言包

linux必须先有语言包,才能在locale中设置。如果没有,需要独立安装。

2)中文显示乱码

文件编码格式与linux设置的不一致时,文件不能正确翻译成字符导致。

3)locale包含的内容

linux通过locale相关参数设置操作系统使用的语言。文件的读写默认使用locale的设置。
locale包含3个信息:语言_地域_字符集,可细分为12类,包括语言、货币符号、电话号码格式、地址书写习惯等。
linux可以保存任意国家、字符编码的文件,但可能无法正常显示。如中文的乱码现象。因为计算机文件底层都是二进制编码。

4)locale的3个参数

	LC_ALL:最高效力的参数,一次设置所有locale参数值。
	LC_*:分项单独设置;如LC_TIME时间格式。
	LANG:locale的默认值,当参数没有设置时才使用。
	LANGUAGE:设置应用程序的界面语言。

5)设置方法

会话级:设置环境变量:LANG=“zh_CN.utf8”
用户级:

  1. 法1:给用户配置文件: cp /etc/sysconfig/i18n $HOME/.i18n修改 $HOME/.i18n
  2. 法2:修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030

系统级:修改文件 /etc/sysconfig/i18n

扩展1:vim工具设置编码方式

vim工具默认使用操作系统locale设定的编码方式,但也可以单独设定。(相对而言,win下编辑工具更人性化点,会自动适应)
vim的设置一般放在/etc/vimrc文件中,不过,建议不要修改它。可以修改~/.vimrc文件(默认不存在,可以自己新建一个),写入所希望的设置。
我的.vimrc文件如下:

		:set encoding=utf-8
		:set fileencodings=ucs-bom,utf-8,cp936  ##文件解码顺序,挨个试,成功为止。
		:set fileencoding=gb2312
		:set termencoding=utf-8

参考:vim工具编码方式设置

实验

1)linux可以正常存放不同编码方式的文件

&:在win客户端创建2个文本文件,分别使用utf和gb2312编码。上传到linux,再下载到本地,正常打开。
   注:不同文件编码格式不同,win下编辑工具如notepad可以自动使用正确编码解析。
   linux下工具,如cat、vim默认使用locale的设置,不一致时,会乱码。也可以通过参数文件设置。

2)linux实验locale设置的编码读取文件

&:vim默认使用locale的设置。当locale=zh_CN.utf8时,utf8的文件可以正常显示;gb2312的不能。
   反之,因为putty工具默认用utf8显示linux的回传信息,顾gb2312时与预期不一致。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章