首先如果不編碼,那些非英文abc等字元會被瀏覽器按照網頁當前的字符集進行編碼傳到伺服器去, 而伺服器則只會按照伺服器配置的字符集編碼(有預設的好像就是iso***x)進行解碼,所以如果網頁的字符集和伺服器字符集解碼一致那麼就不會出亂碼!
但是往往對於我們來說是不一致的。所以一般情況會出現亂碼, 所以就有人想到用encodeuri來進行編碼再傳送到伺服器,但是要注意encodeuri來編碼是以utf-8來進行編碼的,而伺服器對於url裡面的非abc等字元進行解碼幾乎預設都不是utf-8
所以如果你encodeuri一次的話, 通過request.getparam...而得來的是被伺服器以另外一種(一般是iso...)編碼解碼得到的.所以通過utf-8編碼過後 再通過iso解碼當然獲得的是亂碼, 即使你通過decode(***, 'utf-8')獲取之後的也不對,因為這個過程是 utf-8編碼 ---- iso解碼 ----- utf-8解碼,這個過程當然不對了哦!
而通過兩次編碼再通過兩次解碼為什麼就對了呢, 她是這麼乙個過程 utf-8編碼-utf-8編碼 --- iso解碼 ----utf-8解碼。
在這裡要注意 因為通過第一次utf-8編碼之後的都全是英文本元了,對於英文本元 utf-8編碼 和iso編碼是一樣的效果
所以上面的過程就相當於 utf-8編碼-iso編碼 --- iso解碼 ----utf-8解碼 這樣乙個過程是對稱的當然最後會得到正確的結果了
關於rbac那點事
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
關於樹的那點事。
突發奇想的想寫一些關於樹的用法,以後把經常用到的或者覺得重要的用法都給整理下來,好複習用。因為用得比較多的是二叉樹,所以先說一些二叉樹的性質 性質1 二叉樹第i層上的結點數目最多為2i 1 i 1 性質2 深度為k的二叉樹至多有2k 1個結點 k 1 性質3 包含n個結點的二叉樹的高度 k 至少為 ...
關於Json的那點事
說明 說明一點js是直接支援json的 所以可以直接如下寫 var a 直接是json物件 而不必 寫成 var a 這樣寫是字串 反而錯誤 所以 在.aspx 頁面輸出json的時候可以直接 前端 json格式當做回傳資料時請使用 jquery.getjson url,data callback ...