文件名含中文,上传到FTP文件服务器文件名乱码 linux | 您所在的位置:网站首页 › c盘文件名称乱码 › 文件名含中文,上传到FTP文件服务器文件名乱码 linux |
环境说明:
操作系统:Windowsftp服务器:LinuxJava中: org.apache.commons.net.ftp.FTPClient;依赖
commons-net
commons-net
3.6
乱码表现:
浏览器直接登陆ftp,中文显示正常 Windows下cmd命令窗口连接ftp,中文显示正常xshell连接ftp,中文乱码,比如显示成问号啥的
分析:1、2都处在Windows下,3处在linux下 乱码原因:Windows默认GBK编码,linux默认UTF-8,所以在Windows下上传的中文到Linux就会显示为乱码。如果我们把Linux的默认编码改为GBK,就不会出现乱码啦!哈哈哈^_^ 方式一: 修改xshell的编码方式:地球图标–Chinese Simplified (GBK) 看看中文名称有没有正常,如果没有,你就需要看看方式二了 方式二: 使用locale命令查看linux编码方式: [root@i-e6e1992e ~]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=很明显,就是UTF-8啦,下面就要改成跟Windows一样的GBK编码, 命令行键入:vi /etc/profile 即:编辑profile文件 然后在profile文件里面加上如下两行代码: (键盘键入a/i进入编辑模式) export LC_ALL="zh_CN.GBK" export LANG="zh_CN.GBK"Esc键退出编辑模式,:wq再Enter一下就是保存并退出啦!哈哈,接下来要使这个设置生效我们还需要进行下一步: 命令行键入:[root@i-e6e1992e etc]# source /etc/profile完事再locale一下看看,是不是就变成下面这样啦^_^ [root@i-e6e1992e Class]# locale LANG=zh_CN.GBK LC_CTYPE="zh_CN.GBK" LC_NUMERIC="zh_CN.GBK" LC_TIME="zh_CN.GBK" LC_COLLATE="zh_CN.GBK" LC_MONETARY="zh_CN.GBK" LC_MESSAGES="zh_CN.GBK" LC_PAPER="zh_CN.GBK" LC_NAME="zh_CN.GBK" LC_ADDRESS="zh_CN.GBK" LC_TELEPHONE="zh_CN.GBK" LC_MEASUREMENT="zh_CN.GBK" LC_IDENTIFICATION="zh_CN.GBK" LC_ALL=zh_CN.GBK再ls一下看看你上传的文件是不是就正常显示中文了呢?~^_^ |
CopyRight 2018-2019 实验室设备网 版权所有 |