系统自带和第三方软件使用的编码不同就会导致这样。vsftp
不支持编码识别自动转换。所以两个客户端软件用的不同编码就会让
vsftp
的编码混乱。一般来说
linux
现在都用
utf-8
一些新版本的
ftp
软件默认也会去转换为
utf-8
进行传输文件名,但
windows
似乎旧版本还是用本地编码进行
io。也就是简体中文用
gb
系列,繁体中文用
big
,英文用
ascii
什么的互相不同的编码。
Linux文件名、文件内容乱码,主要原因是windows上的中文编码默认是GBK,而Linux默认中文编码为UTF-8,由于编码不一致,所以导致乱码问题。为了解决这个乱码,需要对文件进行转码,具体如下:
1、前提保证已安装了convmv;
2、具体convmv的用法:
Convmv
–f
源编码
–t
新编码
[选项]
文件名
一般常用参数:
-r
递归处理子目录
--notest
真正进行 *** 作,默认情况下是不对文件进行真实 *** 作的,只是一个预览
--list
显示所有支持的编码
--unescap
可以做一个转义
3、比如我们有一个utf8的文件名,要求转换成gbk编码,命令如下:
Convmv
–f
utf-8
–t
gbk
–notest
文件名
也可以使用linux下最好用的编码转换工具iconv来进行转码 *** 作。
例子:将GBK编码的文件转换成UTF-8
iconv
-f
GBK
-t
UTF-8
gbkfile.txt
>
utf8file.txt
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)