搭好存儲服務器,自然要架一個ftp把我的資源分享出來。之前一直是用serv-U的6.1版做的ftp服務器端,後來嘗試過在linux下用vsftpd,但是會出現亂碼問題,非常郁悶只好換回windows。之後又嘗試了好幾個ftp服務器端軟件,都沒有很好地解決中文字符編碼的問題。直到用回Serv-U 6.4.0.6版。現在把一些經驗分享出來。
ftp亂碼的現象和原因:
訪問ftp,遇到中文文件名出現亂碼。
由於在FAT和NTFS文件系統中,中文是直接按照操作系統所使用的編碼方式存儲的,中文系統通常是gbk編碼。針對不同的ftp客戶端軟件,有的ftp服務器端軟件無法將文件系統中的編碼,轉換成客戶端軟件所使用的編碼,於是就出現了亂碼。
vsftpd
Linux下比較流行的輕量級ftp服務器端軟件。ext3默認使用utf-8編碼,而windows客戶端采用gbk,於是在服務器上正常的中文,在windows客戶端中顯示亂碼。如果是從客戶端上傳的文件,則在服務器端顯示中文亂碼,但在客戶端可以正常浏覽。
proftpd
Linux下功能強大的ftp服務器端軟件。從1.32rc1開始,支持設置服務器端和客戶端的編碼方式。比如設置服務器端編碼為utf-8,客戶端編碼為gbk,可以初步解決亂碼問題。但是針對使用utf-8編碼的客戶端,反而會出現亂碼問題。
FileZilla Server
跨平台的ftp服務器端軟件,我只用過windows平台下的。實際測試的結果是,用windows的資源管理器打開,可以正常閱讀,但是用ftp客戶端軟件,比如cuteFTP, FlashFXP等,會出現亂碼。用FileZilla自己的客戶端就沒有問題。
Serv-U 8.x
最新版的Serv-U,功能強大,使用web的方式進行管理。實際測試結果是,用windows的資源管理器打開,可以正常閱讀,但是在IE、Firefox等浏覽器中打開,出現亂碼,用ftp客戶端軟件,比如cuteFTP, FlashFXP等,也會出現亂碼。
相比它的6.x老版本,在字符編碼方面反倒倒退了。
Serv-U是商業軟件,最新的8.2版本還沒有破解,8.0版有破解,但是非常不穩定,基本上每個五分鐘自己重啟一次,原因不明。
Serv-U 6.x
最經典的版本,用的最廣泛。經測試,不論是資源管理器訪問ftp,還是浏覽器,各類ftp客戶端,都能正常浏覽中文文件名。
6.1版本我找到過序列號,但是一個序列號在同一局域網中只能使用一次,不然會被發現失效。最後的6.4.0.6版本有算號器,可以完美破解。
毫無疑問,我最終使用了6.4.0.6的中文綠色破解版。非常穩定,非常好用。