wget 中文檔名變亂碼
中文檔名在平常的情況下會被編碼, 但是在 --cut-dirs 時又是正常的, 那就大家用 --cut-dirs, 或是使用 outta-port/wget 吧
wget -r -np -nH --cut-dirs=3 ftp://freebsd.sinica.edu.tw/pub/statue/test/ 測試.txt wget -r -np -nH -nd ftp://freebsd.sinica.edu.tw/pub/statue/test/ %B4%FA%B8%D5.txt wget "ftp://freebsd.sinica.edu.tw/pub/statue/test/*" %B4%FA%B8%D5.txt
wget 的安裝:
# cd /usr/ports/outta-port/wget
# make install clean
From:FreeBSD Chinese HOWTO
由於不知名的原因,可能是為了避開特殊檔名, wget 會自動將抓取檔名的部分用 encode_string 處理過, 所以該 patch 就把被 encode_string 處理成 "%3A" 這種東西, 用 decode_string 還原成 ":", 並套用在目錄與檔案名稱的部分,decode_string 是 wget 內建的函式。
pure-ftpd 的中文問題?
Contributed by: leeym.bbs@bbs.leeym.com (Yen-Ming Lee)
可能是 client 的問題 (例如 ncftp 就會吃掉 ), 也可能是 server 的問題. 如果確定 client 沒問題的話, server (pure-ftpd) 要改的部分為:
--- src/ftpd.c.orig Tue Feb 10 23:29:48 2004 +++ src/ftpd.c Tue Feb 10 23:30:34 2004 @@ -660,9 +660,11 @@ return -1; } while (*namepnt != 0) { +#if 0 if (ISCTRLCODE(*namepnt) || *namepnt == '') { return -1; } +#endif if (dot_ok == 0) { if (*namepnt == '/') { namepnt++;
Please follow and like us: