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

  

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

1
https://naibawu.com/1855.html

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

如何查看linux系统语言

1
echo $LANG

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

查看是否有中文语言包

1
locale

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

1
yum groupinstall chinese-support

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

1
vi /etc/sysconfig/i18n

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

1
2
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 的话上面这个安装步骤会提示没有可用的包,报错如下

1
2
3
4
5
6
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安装中文字体命令为

1
yum groupinstall "fonts"

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

1
locale -a |grep "zh_CN"

若显示

1
2
3
4
5
6
zh_CN

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

则说明安装成功
然后

1
vim /etc/sysconfig/i18n

然后添加

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

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

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

然后

1
source /etc/sysconfig/i18n

然后修改本地文字

1
vi /etc/locale.conf

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

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

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

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

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

您必须才能评论!

目前共 4 个评论

  1. nginx做静态文件下载服务器之安装与配置-老牛博客说道:

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

  2. 我的头像 123说道:

    那么大的不透明水印,碍事。看了还不如不看

  3. 我的头像 卖女孩的小火柴说道:

    您好,我到处找不到chinses-support的这个包,能给分享一下吗

收藏
新建分类
没有账号? 忘记密码?