分页: 1 / 1

关于vsftpd客户端乱码,有人有办法没

发表于 : 2006-10-26 19:54
小李菜刀
由于在Linux下字体的编码是UTF8的,而Windows的还是GB2312。

我在VSFTP服务器的几个文件是中文命命名的,编码是UFT8。

所以在客户端显示为码码 而我从windows传东东到我服务器上也是乱码

请问这该怎么处理啊?

VSFTP服务器要打补丁才能解决utf8,gbk的乱码问题,建议用pureftp

发表于 : 2006-10-27 21:16
dongfengyu
VSFTP服务器要打补丁才能解决utf8,gbk的乱码问题,建议用pureftp,因为只有这个FTP服务器,才是官方支持字符集转换,解决utf8,gbk乱码的问题

发表于 : 2006-10-27 21:18
dongfengyu
在vsftpd里不支持编码和解码,这样当系统使用UTF8的时候,在本地看着正常的中文文件名和中文目录名,在windows机器上看着就是乱码。上传的文件也会有问题,windows下正常的文件名上传后在服务器上看着就是乱码。

我给vsftpd写了一个补丁,在传递文件名和目录名以及文本消息的时候,它可以根据配置文件中的选项来调整编码。这样我的系统就可以使用UTF8,远程的windows机器连接上来也没有问题

安装方法
解压vsftpd-encoding.tar.bz2到/usr/local/portage/net-ftp/目录下(这需要在/etc/make.conf里设置PORTDIR_OVERLAY=/usr/local/portage),然后emerge vsftpd就可以了

为了方便非gentoo的用户,我把patch也单独打了包,就是vsftpd-2.0.3-encoding.patch.tar.bz2,解压后对vsftpd源码打补丁就可以安装了。

使用方法
我给vsftpd增加了三个开关,这些可以在打了补丁的vsftpd.conf的manpage中用charset搜到。
首先是要在vsftpd.conf中加上charset_filter_enable=YES,这个开关使vsftpd配置字符过滤器,缺省是NO,就是说vsftpd缺省不会开启这个解码功能的。
然后就是两个参数charset_client和charset_server,前者表示vsftpd将向外输出的字符编码名称(比如我这样的情况应该是GBK,GB18030或者GB2312),后者是vsftpd所在服务器的系统编码(我这里是UTF8)。

有什么问题可以发信给meteozwh at hotmail dot com

发表于 : 2006-10-27 21:22
dongfengyu
字符集转换补丁

发表于 : 2006-10-27 21:23
dongfengyu
挂附件总是不成功,,不知道为什么?请指教

已经带有补丁的安装包

发表于 : 2006-10-27 21:26
dongfengyu
已经带有补丁的安装包

发表于 : 2006-10-28 11:24
小李菜刀
谢谢我去找找带补厅的安装包 如果可以请你把你的那个补厅发我邮箱(不大的话)limaoyinhuaster@gmail.com

再次谢谢

发表于 : 2006-10-30 21:49
dongfengyu
带补丁的安装包叫:vsftpd-encoding_2.0.4-0ubuntu4_i386.deb,
补丁源码:vsftpd-encoding.tar.bz2

搜索一下即可找到