我的网站是用wordpress搭建,原来是放在国外空间,但访问速度实在太慢。我抱着试试看的心态迁入了阿里云服务器。在漫长而无聊的备案解决后,我又碰到了一个Linux服务器下网站文件乱码的问题,因为我对Linux不懂,纠结了半天,好在最后总算是解决了。
开始上传的文件如图所示:
在Linux系统中出现中文乱码,可以采取以下方法解决:
先下载两个中文支持包:
fonts-chinese-3.02-12.el5.noarch.rpm
fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm
一个是中文字体,一个是字体显示,两个包都需要。
可以用wget命令下载:
# wget http://ftp.dc.volia.com/pub/CentOS/5.5/os/i386/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm
# wget http://ftp.dc.volia.com/pub/CentOS/5.5/os/i386/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm
然后再使用以下两个命令安装
# rpm -ivh fonts-chinese-3.02-12.el5.noarch.rpm --nodeps --force
# rpm -ivh fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm --nodeps --force
注:--nodeps --force 这两个参数是强制安装,不去检查文件关联,我在使用的时候必须加这两个命令,否则安装不成功。
再去修改/etc/sysconfig/i18n文件
LANG="en_US.UTF-8"
SUPPORTED="en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
改为 (建议修改前把原内容注释掉即可,用#号注释)
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh"
修改完之后,保存并且重启一下阿里云服务器。
把这些搞完,算是配置完了linux下的中文环境,但是我发现传上去的文件还是如下显示 #U51af#U5c0f#U521a#U7535#U5f71#U5168#U96c6#U767e#U5ea6#U5f71#U97f3.jpg 中文名字被Linux处理了,怎么办?
解决办法就是用FTP的二进制重新上传所有的中文文件。一定要用二进制方式上传。不同的FTP软件设置方式不同,但一般都应该是在如图所示中设置吧,我用的是FileZilla,如下图所示修改一下传输类型:
全部传好之后,第一张图的乱码文件就显示正常了,打开网站访问,图片也显示正常了。如下图所示:
注:/etc/sysconfig/i18n文件是在阿里云服务器根目录下,先执行 cd /home 再执行 cd .. 再用 ls 就可以看到etc目录了,然后就可以用vim命令修改i18n文件了。
注:I18N 是 internationalization 的缩写形式,意即在 i 和 n 之间有 18 个字母,本意是指软件的“国际化”。I18N支持多种语言,但是同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;
在使用vim命令时,要开始编辑需要按insert键或i键,要退出编辑直接Esc,再用:q!,这是强制退出不保存,如果要保存退出则要用:wq,这也是我在最近学到的一个很重要的Linux命令,算是用阿里云最大的收获吧。