關於URL轉碼問題

2021-07-10 19:10:10 字數 1381 閱讀 6948

最近遇到這麼乙個問題,乙個是查詢亂碼(16進製制字串),另外乙個是url傳參需要對引數轉碼,因為傳的引數是一串中文字元,所以需要處理。前台轉碼倒是方便,一種情景是直接在請求傳送觸發的事件裡面直接轉碼,然後跳到後台裡面,然後在action裡面再轉碼一次。在這個過程中遇到乙個問題如**所示,

前台**:

$(document).ready(function());

});後台**:

action 中

leadernamelist=dictservice.getitemsbydictvalue("fgjtld");//獲取字典項

userid= userservice.getcurrentuser().getuserid();

listrolelist = rolemanager.getuserroleinfosbyuserid(userid, const.is_yes);

if(!rolelist.isempty())

else if(role.getrolename().equals("廳長")||role.getrolename().equals("副廳長")||role.getrolename().equals("廳辦工作人員"))}}

manager中:

後來使勁除錯還是發現在linux系統中轉碼問題無法實現(windows環境正常),前台轉碼有效,後台失效了。查詢不出來東西,於是去掉了manager中的轉碼,在action中轉碼

如圖所示:

之後才有效。之前linux環境下一直都是16進製製碼,windows環境下不轉碼也是正常的。

情景二:ajax傳參的過程中

/leaderact/leaderact!mylist.action','辦公門戶')">更多》活動

由於框架中使用的都是在後台中拼接html語句,有乙個很麻煩的地方leadername那個引數是中文,而url中不能存在中文,所以需要轉碼。但是這種不能像之前那樣前台轉一次,後台轉一次,因為框架中mvc沒明顯體現出來,拼接的html語句轉碼太繁瑣了,於是加了兩句話就實現了,

getresponse().setcontenttype("text/html;charset=utf-8");

getresponse().getwriter().write(innerhtml.tostring());

注意這個地方不能再呼叫list方法了,因為list方法裡面轉碼了一次,所以必須方法重寫,可能確實有點麻煩,這種方式有點笨拙,但是結果還是實現了。

做完之後發現盡是些么蛾子。

做出來的結果如圖

Spider 關於資料轉碼問題

在爬蟲的過程中,編碼問題常常會遇到,資料在你面前總是隔了層紗,要麼丟擲個ascii錯誤,要麼就是儲存下來和列印出來的不一樣 拉勾小案例 將返回內容轉化為python中的資料物件 unicode編碼 py obj json.loads html 獲取所有城市名 unicode編碼 到這裡我們已經獲取到...

php中文url轉碼例項

php url 編碼 url 可以使用 urlencode 或者 rawurlencode 二者的區別是前者把空格編碼為 而後者把空格編碼為 20 注意,在編碼時應該只對部分url編碼,否則url中的冒號和反斜槓也會被轉義。詳細解釋 string urlencode string str 例子 1....

Lua中url的中文轉碼

local lua util function lua util.url encode str if str then str string.gsub str,n r n str string.gsub str,w function c return string.format 02x string...