前幾天主管問我FreeMarker下,Url如何進行編碼,我當時的想法是 “ 這需要編碼么?”,
的確,在絕大部分情況下,瀏覽器、系統框架能幫我們解決編碼的問題,即使不處理也沒任何問題,所以我思考了這么個應用場景。
Js的話,主要就是encodeURIComponent的使用,他會把路徑中的符號、中文進行編碼,這樣不會與Url中的語法設定沖突
在Java中也有類似的語法,用來解決中文路徑、空格等問題
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> asdad <a id="test" href="#">asdasd</a> <script type="text/javascript"> var ur = encodeURIComponent('a=http://www.baidu.com?a=這是一段中文&b=3'); console.log(ur) document.getElementById('test').setAttribute('href', 'http://localhost:8080/Sea/test?' + ur); </script> </body> </html>