真正有效的centos中文乱码的解决方法

一、中文支持
安装中文语言包:

代码如下:
yum groupinstall chinese-support
修改字符编码配置,没有这个文件就创建它:

代码如下:
vim /etc/sysconfig/i18n
修改后内容如下:

代码如下:
LANG=”zh_CN.GB18030″
SUPPORTED=”zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en”
SYSFONT=”latarcyrheb-sun16″
i18n文件是用来设置系统语言,比如:zh_CN.UTF-8、zh_CN.GB18030、zh_TW.Big5、en_US.UTF-8等。
i18n中三个环境变量:
LANG变量,设置系统语言。
SUPPORTED变量决定系统支持的语言,即系统能够显示的语言。
SYSFONT变量表示系统字体。
最后重启服务器:

代码如下:
reboot
这样在字符界面命令交互中就会出现中文了,但是有些翻译的不全。
使用locale命令查看系统语言设置:

代码如下:
locale</p> <p>LANG=zh_CN.GB18030
LC_CTYPE=”zh_CN.GB18030″
LC_NUMERIC=”zh_CN.GB18030″
LC_TIME=”zh_CN.GB18030″
LC_COLLATE=”zh_CN.GB18030″
LC_MONETARY=”zh_CN.GB18030″
LC_MESSAGES=”zh_CN.GB18030″
LC_PAPER=”zh_CN.GB18030″
LC_NAME=”zh_CN.GB18030″
LC_ADDRESS=”zh_CN.GB18030″
LC_TELEPHONE=”zh_CN.GB18030″
LC_MEASUREMENT=”zh_CN.GB18030″
LC_IDENTIFICATION=”zh_CN.GB18030″
LC_ALL=
默认语言为en_US.UTF-8或POSIX,设置后为zh_CN.GB18030。

二、vim显示中文
安装中文包后还要编辑vim的配置文件vimrc:
vim /etc/vimrc
在最后加入以下内容:

代码如下:
set fileencoding=utf-8
set fileencodings=utf-8,gb18030,gbk,big5

PS:让Linux VPS支持中文主要为了方便查看如wordpress、discuz程序的备注及注释等,都是中文版的嘛。

PS2:这样设置后系统和vim可以显示简体中文了,但是繁体中文还是不能显示,不知道哪里设错了啊??我的理解是系统语言有中文,vim是个文字编辑器,设置为utf-8编码格式,所有utf-8编码的文字都能显示?还是没有相应的字库所以就显示乱码了,那么安装的中文包里没有繁体中文的字库?

PS3:试了多次发现i18n文件中LANG设为zh_CN.gb18030、zh_CN.gbk、zh_CN.gb2312都能正常显示简体中文,但是设为zh_CN.utf-8,就会乱码。

时间: 2024-10-07 12:05:44

真正有效的centos中文乱码的解决方法的相关文章

Sublime Text 3打开txt中文乱码的解决方法

Sublime Text是一个非常强大的编辑器,可是对中文的支持并不好,在Sublime Text 2 时,可以通过命令行的方式安装编码包来解决,但Sublime Text 3不能通过这样的方式解决 在安装完Sublime Text 3后要下载一个ConvertToUTF8包放到C:\Users\用户名\AppData\Roaming\Sublime Text 3\Packages(安装目录可能不是这个,但可以在sublime中preference - browse packages打开此目录)

Visual Assist X在Windows 8.1下出现中文乱码的解决方法

这主要是输入法造成的,我的输入法中有US.中文.搜狗输入法三个输入法:通过搜狗输入法管理器把"中文"去掉,或者通过语言首选项把"中文"去掉就不会在出现乱码. 这个办法的思路来自于http://www.cnblogs.com/Coling/p/3527233.html,但他说的是把除搜狗之外的都删除,我不赞同,作为开发者,经常输入英文,且经常使用Shift,只保留搜狗,那写代码时要累死.于是尝试删除"中文",结果就搞定了. Visual Assis

提交数据的中文乱码的解决方法

使用GET方式提交数据的中文乱码的解决方法: 使用URLEncoder.encode(name,"UTF-8")进行url编码:      String path = "http://192.168.22.136:8080/web/servlet/LoginServlet?username="+URLEncoder.encode(name,"UTF-8")+"&password="+URLEncoder.encode(

SSH Secure Shell Client中文乱码的解决方法

这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要'UTF-8'编码,Windows中文版的编码是非UTF-8.zh_CN.UTF-8是UTF编码的中文语言环境.Windows使用的是GB2312编码,大多数linux系统支持的是UTF-8编码,而远程登陆时使用的是本地编码,所以会出现乱码的问题:现有几种解决方案: 方案一:修改linux服务器的环境变量 使用linux,在用户根目录下有一个.bash_profile配置文件,该配置只对当前用户有效.若对

关于perl中,中文乱码的解决方法

今天在测试自己写的邮件模块的时候,发现客户端收到的邮件标题是乱码,于是学习了一下perl中对字符串处理的机制,再次记录下,也希望以后对其他朋友有所帮助 首先perl只能处理2种编码的格式,ascii码和utf-8. 那么perl首先要确定一个字符串是octets还是utf8编码,他完全是靠字符串上的utf8 flag. 在perl内部,字符串结构由两部分组成: [utf8 + 数据].如果utf8 flag是on的话, perl就会把它当成utf8字符串来处理, 如果utf8 flag为off,

C. PHP读取TXT中文乱码的解决方法

PHP读取TXT中文乱码的解决方法 2013-03-01 19:12 2203人阅读 评论(0) 收藏 举报 //$fname文件名称 if ($fname = $_FILES['nickname']['tmp_name']) { //file_get_contents() 函数把整个文件读入一个字符串中. $contents = file_get_contents($fname); //获取文件的编码方式 $encoding = mb_detect_encoding($contents, ar

30. CentOS终端命令行显示中文乱码的解决方法

安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方法:修改/etc/sysconfig/i18n,内容为 代码如下: LANG="zh_CN.GB18030"LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"SYSFONT="lat0-sun16" 退出重新登录即

CentOS中文乱码之解决办法

在学习Linux的过程中,最先碰到的是通过SSH终端连接时发现有乱码出现,使用这篇文章先从这里说起. 在 ssh , telnet 终端中文显示乱码解决办法#vim /etc/sysconfig/i18n 将原内容:LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" 修改为: LANG="zh_CN.GB18030" LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh

JSP表单提交出现中文乱码的解决方法

1)post方式 在servlet的doGet( )  doPost( )  中增加以下代码: response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); 2)get方式 在tomcat中con/server.xml中修改 <Connector port="8088" protocol="HTTP/1.1&qu