解决从WIN FTP上传的文件,UTF-8的Linux中文文件名乱码


windows缺省字符集是GBK,在ftp上传到linux文件时,中文文件名总是显示乱码,原因是此linux字符集为utf-8,无论是ftp还是scp,都不能自动解决编码不一致问题。 经查找,解决办法如下: 

在linux下安装convmv命令,采用

convmv -f gbk -t utf-8 --notest -r ./

即可。 

注意:为了以防上传到linux上的文件确实是gbk的乱码,可以先别加 [--notest],这样先将改名名的命令显示到控制台,正确后再添加 --notest参数。 

--notest 参数为 正式执行改名动作。 

-r 为递归子目录 

./ 这个是你要修改文件的目录位置。 

另外,打包时最好别用zip格式,windows上压缩后,再在linux解压,中文名不是gbk编码了(我测试过了)。保险起见请用tar打包上传。 

附加,OSX系统中的编码转换命令:

iconv -f gbk -t utf-8 file1 > file2

重要参数: 

-f是表示从什么编码,后面跟编码 

-t是表示转换到什么编码,后面跟编码 

>表示从哪个文件保存为哪个文件

声明:TIL|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA[ZH]协议进行授权

转载:转载请注明原文链接 - 解决从WIN FTP上传的文件,UTF-8的Linux中文文件名乱码


Life is very interesting. In the end, some of your greatest pains become your greatest strengths.