linux 字符集及FTP传输乱码处理

   最近FTP传输文件到Linux服务器时,出现乱码的情况,传输的文件名中带有汉字。于是将系统语言设置为支持汉语

首先安装相关的包

yum -y groupinstall chinese-support

编辑文件/etc/sysconfig/i18n

vi /etc/sysconfig/i18n
LANG="zh_CN.GB18030"
#LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.GB18030.zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"

源文件为

LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

修改之后重启机器

可以发现已经显示为中文,

但是在测试FTP传输的时候,传输过来的时候还是有乱码

咨询厂家之后,说传输时使用的字符集是GB2312,于是进行了设置,修改/etc/sysconfig/i18n

LANG="zh_CN.GB2312"

发现家目录下的 public,picture,video等等都显示为乱码

而在此前设置为LANG="zh_CN.GB18030"都是正常的,但是由于开发要处理传输过来的图片,目前只能修改为GB2312。

 

在测试机做完操作之后,想修改为之前的英文,修改之后登录发现以下提示:

-bash:warning: setlocale: LC_CTYPE: cannot change locale (zh_US.UTF-8): No such fileor directory
-bash:warning: setlocale: LC_COLLATE: cannot change locale (zh_US.UTF-8): No suchfile or directory
-bash:warning: setlocale: LC_MESSAGES: cannot change locale (zh_US.UTF-8): No suchfile or directory
-bash:warning: setlocale: LC_NUMERIC: cannot change locale (zh_US.UTF-8): No suchfile or directory
-bash:warning: setlocale: LC_TIME: cannot change locale (zh_US.UTF-8): No such fileor directory

发现是zh_US.UTF-8,尝试修改为LANG="en_US.UTF-8",重启之后,登录,一切正常


你可能感兴趣的:(linux,ftp,乱码,字符集,语言支持,setlocale)