1. 程式人生 > >位址列中文引數在頁面中出現亂碼問題

位址列中文引數在頁面中出現亂碼問題

專案中碰到一個問題:

 在搜尋框寫入中文資料在傳送請求時,同時跳轉到另外一個page,把獲取的中文資料寫入input的value中。但是獲取到中文的資料變成亂碼 

<input  class="input_page" />

解決辦法:

請求時,在獲取到資料加入位址列之前對中文進行倆次轉碼 當前頁面執行轉碼

var url="跳轉的頁面";

var text=$(".input_page").val();

var t=encodeURI(encodeURI(text));

window.location.href=url+"?search="+t;

在跳轉頁面中擷取需要的資料

//獲取位址列引數的方法
        function getQueryString(name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
            var r = window.location.search.substr(1).match(reg);
            if (r != null) return unescape(r[2]); return null;
        }

     var t = getQueryString("search");

     var text = decodeURI(t);

  然後把獲取的text寫入頁面input的value中就OK了!

已專案實踐!!!