由于在Linux下字体的编码是UTF8的,而Windows的还是GB2312。
我在VSFTP服务器的几个文件是中文命命名的,编码是UFT8。
所以在客户端显示为码码 而我从windows传东东到我服务器上也是乱码
请问这该怎么处理啊?
关于vsftpd客户端乱码,有人有办法没
- 小李菜刀
- 帖子: 130
- 注册时间: 2006-09-24 10:15
- 联系:
-
- 帖子: 33
- 注册时间: 2006-07-27 22:11
VSFTP服务器要打补丁才能解决utf8,gbk的乱码问题,建议用pureftp
VSFTP服务器要打补丁才能解决utf8,gbk的乱码问题,建议用pureftp,因为只有这个FTP服务器,才是官方支持字符集转换,解决utf8,gbk乱码的问题
-
- 帖子: 33
- 注册时间: 2006-07-27 22:11
在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
我给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
-
- 帖子: 33
- 注册时间: 2006-07-27 22:11
-
- 帖子: 33
- 注册时间: 2006-07-27 22:11
-
- 帖子: 33
- 注册时间: 2006-07-27 22:11
已经带有补丁的安装包
已经带有补丁的安装包
- 小李菜刀
- 帖子: 130
- 注册时间: 2006-09-24 10:15
- 联系:
-
- 帖子: 33
- 注册时间: 2006-07-27 22:11