21.32. wget 中文檔名變亂碼

中文檔名在平常的情況下會被編碼, 但是在 --cut-dirs 時又是正常的, 那就大家用 --cut-dirs, 或是使用 outta-port/wget

wget -r -np -nH --cut-dirs=3 ftp://host/test/
  測試.txt                                                               
wget -r -np -nH -nd ftp://host/test/
  %B4%FA%B8%D5.txt                                              
wget "ftp://host/test/*"
  %B4%FA%B8%D5.txt

wget 的安裝:

# cd /usr/ports/outta-port/wget
# make install clean

由於不知名的原因,可能是為了避開特殊檔名, wget 會自動將抓取檔名的部分用 encode_string 處理過, 所以該 patch 就把被 encode_string 處理成 "%3A" 這種東西, 用 decode_string 還原成 ":", 並套用在目錄與檔案名稱的部分,decode_string 是 wget 內建的函式。

WWW: http://sunsite.auc.dk/wget/