从windows 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是表示转换到什么编码,后面跟编码
>表示从哪个文件保存为哪个文件

猜你喜欢

转载自godlewis.iteye.com/blog/1685624