linux做的FTP服务器(vsftpd),上传的中文文件,名字都会被自动改掉,部分汉字被改成符号?

2024-12-01 18:14:30
推荐回答(3个)
回答(1):

跟中文输入法没关系。我的建议是服务端和客户端都用UTF-8格式最好
给你看看我一个FTP服务器的编码:
$ whoami
root
$ echo $LANG
en_US.UTF-8
#这个表明系统默认UTF-8

$ ps auxw | grep vsftpd|grep -v grep
root 32449 0.0 0.0 4288 1020 ? S Sep14 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
#查询到我的vsftpd的进程号 32449

$ cd /proc/32449/
$ ls
attr coredump_filter exe limits mem root statm wchan
auxv cwd fd loginuid mounts smaps status
cmdline environ io maps mountstats stat task
$ cat environ
TERM=vt100PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/binPWD=/LANG=en_US.UTF-8SHLVL=1_=/usr/sbin/vsftpd
$
#看到environ文件的内容,其中的UTF-8表示我的vsftpd也采用utf-8编码,en_us表示语系

我的客户端用的有filezilla和flashfxp,默认都设成了以utf-8传输

如果你要用中文语系,最好也检查一下/usr/share/locale下面,比如:
$ ls /usr/share/locale/ | grep -i cn
zh_CN
zh_CN.GB2312

回答(2):

上传的编码和服务器的编码必须一致。vsftp 和服务器的编码必须一致。
输入法跟这些没关系。

国内的 Windows 机器 + ftp 软件很多都是 GB 系列编码的,你可以试试 GB 18030 和 GB2312 ,GBK 也和他们兼容,也可以试试。

PS:至少需要 vsftp 和客户端的编码一致。

回答(3):

GBK