2009-08-07 63 views
1

我有一個HTML輸入字段鏈接到一個按鈕,並帶有javascript中的onclick函數,可以將文本字段值傳遞給另一個頁面的文本字段。而經由JSP的URL請求傳遞值從一個頁面到另一個,我發現,與encodeURI()編碼值獲得:在javascript中傳遞帶encodeURI的特殊字符

  • £ - >£(2個跡象!!)
  • ö - >Ã(2 signs !!)

當我使用Javscript escape()時,我得到了正確的編碼,但不幸的是+符號會消失。是否有更好的解決方案來進行某種穩定的字符編碼?

回答

0

encodeURI()使用UTF-8編碼進行編碼,這就是爲什麼你看到兩個符號用於編碼一個字符(這是正常的)。

如果你想使用轉義,仍然保持了+標誌,你可以使用以下命令:

function mod_escape(value) { 
    value = escape(value); 
    return value.replace(/\+/g, '%2B'); 
} 
0

我想你應該在每一個鍵值對和decodeURIComponent在第二頁中使用encodeURIComponent方法()對於每個鍵=值對。