今天我又查了一下,網上有人已經找到了原因,原文情點選此處
解決方法呢,倒是找到不止一種,但是我看了,基本上都是對這個url_file_name函式或者是file_char_test 這個巨集定義進行修改.
方法一,修改url_file_name()函式
wget1.12版本源**中 url.c檔案 第1402行的
for (p = b; p < e; p++)
if (file_char_test (*p, mask))
++quoted;
修改為for (p = b; p < e; p++)
if (file_char_test (*p, mask) && !((*p | 0x0fffffff) == 0xffffffff))
++quoted;
方法二,修改file_char_test巨集定義
將url.c中的
#define file_char_test(c, mask) \
((opt.restrict_files_nonascii && !c_isascii ((unsigned char)(c))) || \
(filechr_table[(unsigned char)(c)] & (mask)))
修改為:
#define file_char_test(c, mask) \
(((opt.restrict_files_nonascii && !c_isascii ((unsigned char)(c))) || \
(filechr_table[(unsigned char)(c)] & (mask))) \
&& !((c|0x0fffffff) == 0xffffffff)) /* 排除中文 */
然後再重新編譯即可
看上面兩個方法,都是排除中文,而且處理的方法都很類似.明眼的你肯定看出來了吧.呵呵
中文亂碼解決方案
前言 亂碼問題,一直使我們頭疼的問題。今天自己有空好好研究一番。不求太深入,只求只知皮毛。考慮不夠全面,只求給您一點幫助足矣。一 簡單介紹下pageencoding與contenttype的區別 摘自網上 pageencoding 設定jsp原始檔和響應正文中的字符集編碼。contenttype 設...
MYSQL中文亂碼解決方案
mysql資料庫存在著編碼問題,主要體現在資料庫裡漢字會出現亂碼,web頁面漢字顯示不正常。歸結起來只有乙個原因 會出現編碼的地方存在編碼不一致。web開發中 mysql編碼主要會出現在五個地方 1.mysql安裝的預設編碼 latin1 在mysql.ini mysql安裝根目錄下 中設定。mys...
POST中文亂碼解決方案
以前,我都是自己編寫乙個filter,來實現編碼,如下 public class characterencodingfilter implements filter override public void dofilter servletrequest request,servletrespons...