wget中文亂碼解決方案

2022-02-17 21:34:47 字數 1009 閱讀 4023

今天我又查了一下,網上有人已經找到了原因,原文情點選此處

解決方法呢,倒是找到不止一種,但是我看了,基本上都是對這個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...