1. 程式人生 > 其它 >[WEB開發]html頁面向後臺傳遞url中文亂碼解決方案

[WEB開發]html頁面向後臺傳遞url中文亂碼解決方案

開發中常遇到頁面向action或service傳遞url,並通過url傳遞中文引數問題,尤其是表單提交。而由於表單內容文字的編碼是根據瀏覽器的規則,因此,在傳遞的時候常出現中文亂碼的情況,以下給出解決方案:

 在js中將中文資訊進行編碼如url = encodeURI(url);,此時action或service得到的將%23%3E%3……此類的文字,但由於瀏覽器把%誤認為轉義字元,因此解決方案為套兩層編碼,如url = encodeURI(encodeURI(url));

 之後在action或是service中使用url=URLDecoder.decode(url, "UTF-8");即可完美解決中文亂碼問題。此方法類似密碼學中的加密和解密過程。
   let urlName = "/html/h.html?type=init&city="+ this.cityName +"&province=" + this.provinceName;
    let urls = encodeURI(encodeURI(urlName));

decodeURI(typeName)
encodeURIComponent
decodeURIComponent
擇善人而交,擇善書而讀,擇善言而聽,擇善行而從。