首页 » Linux »

linux系统(本例为Centos)ftp上传中文名文件乱码或者显示问号解决方法

本文是以centos为例
Debian系统请移步

http://xiaohost.com/1855.html

产生这个问题的最根本原因是windows系统中文采用GB2312编码,而linux采用utf-8编码
由于大部分草根站长都是用的国外VPS或者服务器,故而默认的语言为英语

如何查看linux系统语言

echo $LANG

一般显示为en_US.UTF-8
这也是系统默认的语言

查看是否有中文语言包

locale

若没有zh_CN.UTF-8相关内容,说明没有安装语言包,安装方法如下(centos或者RedHat系列,debian使用apt-get安装,自己搜索下教程)

yum groupinstall chinese-support

有了中文语言包还不行,需要设置

vi /etc/sysconfig/i18n

按i切换从insert模式,将en_US.UTF-8修改为zh_CN.UTF-8即可,:wq保存退出vim编辑
或者直接写入

echo "LANG="zh_CN.UTF-8"" >> /etc/sysconfig/i18n
echo "LC_ALL="zh_CN.UTF-8"" >> /etc/sysconfig/i18n

reboot重启linux即可

注意:centos 7 和centos 6安装方法不一样
如果是centos 7 的话上面这个安装步骤会提示没有可用的包,报错如下

Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Warning: group chinese-support does not exist.
Maybe run: yum groups mark install (see man yum)
Error: No packages in any requested group available to install or update

centos 7安装中文字体命令为

yum groupinstall "fonts"

安装完成后查看是否成功安装中文语言包

locale -a |grep "zh_CN"

若显示

zh_CN

zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

则说明安装成功
然后

vim /etc/sysconfig/i18n

然后添加

LANG="zh_CN.UTF-8"
LC_ALL="zh_CN.UTF-8"

也可以使用echo命令追加写入>>文件

echo "LANG="zh_CN.UTF-8"" >> /etc/sysconfig/i18n
echo "LC_ALL="zh_CN.UTF-8"" >> /etc/sysconfig/i18n

然后

source /etc/sysconfig/i18n

然后修改本地文字

vi /etc/locale.conf

按i切换从insert模式,将en_US.UTF-8修改为zh_CN.UTF-8即可,:wq保存退出vim编辑
或直接使用echo命令覆盖写入>文件

echo "LANG="zh_CN.UTF-8"" > /etc/locale.conf

接着设置客户端xshell和winscp即可

为什么按以上步骤设置了,在winscp/xshell等工具连接上去后还是显示乱码或者问号?
原因:客户端未设置成utf-8编码(即以上工具未设置utf-8编码,进行传输时还是按你电脑的编码方式gb2312),故而需要进行设置
xshell设置如下图:
linux系统(本例为Centos)ftp上传中文名文件乱码或者显示问号解决方法

winscp设置如下图:
linux系统(本例为Centos)ftp上传中文名文件乱码或者显示问号解决方法

本文标签:

相关文章推荐

转载请保留,转载自:老牛博客
原文地址 http://xiaohost.com/1241.html

1 to “linux系统(本例为Centos)ftp上传中文名文件乱码或者显示问号解决方法”

  1. nginx做静态文件下载服务器之安装与配置-老牛博客 于 2015-08-12 09:18:48 发表:

    […] 九、绑定域名至服务器,禁止IP或非绑定域名访问 参照禁止通过IP或未绑定的域名访问Nginx服务器 十、关闭不必要的端口,修改iptable规则 参照Centos下lnmp正确iptables配置规则 十一、上传的中文文件名乱码 此问题不影响下载,主要因为win系统默认编码gb2132,而centos服务器设置为utf-8, 解决该问题方法参照 linux系统(本例为Centos)ftp上传中文名文件乱码或者显示问号解决方法 […]

发表评论