① 為什麼jsp使用URL傳中文參數會亂碼
在頁面中對URL進行編碼,最好不要在URL中傳遞中文參數否則會出現亂碼
1.在頁面中對你的URL進行編碼
使用------encodeURI(你要使用的中文參數值)如:...?username"+encodeURI(「小甜甜")
2.在後台通過解碼來接收該中文參數
使用----String name = new String(request.getParameter("username ").getBytes("iso8859-1"),"utf-8")
3.最好不要在URL中傳遞中文參數
② 為什麼js url傳的中文亂碼
瀏覽器和伺服器之間的編碼格式是不同的,
要解決亂碼問題有三種辦法
如果是get請求,可以在tomcat根文件下找到一個server.xml文件
在其第65行後加上URIEncoding="UTF-8";
如果是post請求,可以通過request設置實體內容的解碼方式為UTF-8
如:req.setCharacterEncoding("UTF-8")
如果希望get和post都可以,可以在servlet接收亂碼String時,使用iso8859-1將其還原成byte再採用UTF-8將此byte轉成String
③ js 傳值url 亂碼問題
JS是UTF-8的,那你接收的文件是不是GB類型的?兩者語言不一致,導致出現亂碼。專
我剛調試完自己寫的類似ajax的一段屬JS。
ajax({
url:"http://",
method:'post',
type:"gb2312",
success:function(){...}
})
這里多了「type:gb2312」,就是告訴ajax,提交類型為非UTF-8類型,在提交的時候就可以將中文字元通過VBurlencode進行轉換。比將「中國」轉換成「%D6%D0%B9%FA」,而非escape("中文文字")。
④ Js的Url中傳遞中文參數亂碼,怎麼獲取Url中參數有關問題
一:Js的Url中傳遞中文參數亂碼問題,重點:encodeURI編碼,decodeURI解碼:
1.傳參頁面
javascript代碼:<script type=」text/javascript」>// <![CDATA[
function send(){
var url = "test01.html";
var userName = $("#userName").html();
window.open(encodeURI(url + "?userName=" + userName)); }
// ]]>
</script>
2. 接收參數頁面:test02.html
<script>
var urlinfo = window.location.href;//獲取url
var userName = urlinfo.split(「?」)[1].split(「=」)[1];//拆分url得到」=」後面的參數
$(「#userName」).html(decodeURI(userName));
</script>
二:如何獲取Url「?」後,「=」的參數值:
A.首先用window.location.href獲取到全部url值。
B.用split截取「?」後的全部
C.split(「?」)後面的[1]內數字,默認從0開始計算
三:Js中escape,unescape,encodeURI,encodeURIComponent區別:
1.傳遞參數時候使用,encodeURIComponent否則url中很容易被」#」,」?」,」&」等敏感符號隔斷。
2.url跳轉時候使用,編碼用encodeURI,解碼用decodeURI。
3.escape() 只是為0-255以外 ASCII字元 做轉換工作,轉換成的 %u**** 這樣的碼,如果要用更多的字元如 UTF-8字元庫 就一定要用 encodeURIComponent() 或 encodeURI() 轉換才可以成 %nn%nn 這的碼才可以,其它情況下escape,encodeURI,encodeURIComponent編碼結果相同,所以為了全球的統一化進程,在用 encodeURIComponent() 或 encodeURI() 代替 escape() 使用
⑤ 通過url傳遞參數+解決傳遞中文參數出現亂碼問題
// 通過url傳參到下一級頁面
methods:{
showpeople:(id)=>{
// 通過url傳參到下一級頁面
location.href="organize-index-detail.html?id="+id;
}
}
// 上一級頁面傳來的id
var id = getQueryString("id");
// 接收url傳來的參數
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;
}
// 接收url傳來的中文參數
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return decodeURIComponent(r[2]);
return null;
}
⑥ js url傳遞中文亂碼
如果單用JS話是不行的,因為JS只針對某個頁面
我剛在網上找的
-------------------------------------
a.html
<html>
<body>
<a href="b.html?tag=2">bb</a>
</body>
</html>
-----------------------------------
b.html
<html>
<script type="text/javascript">
var tag = location.search.match(/tag=(\d+)/)[1];
alert("tag:"+tag);
</script>
<body>
</body>
</html>
不過傳中文接收不到……
⑦ js往前台傳中文出現亂碼怎麼辦
今天做普通的前台頁面向後台傳值,要傳值的內容是中文,傳到後台列印一看 居然...這樣得到的中文不會亂碼,還有另外一個js組件:encodeURI也可以對字元
⑧ JS URL 中文為亂碼
哦,這個問題我昨天剛遇到過,你要用encodeURI("這里放url")將url編碼,用的時候再用decodeURI("接收到的值")解碼,這樣就可以了。注意是decodeURI/encodeURI,不是URL.
有疑問發消息(註明問題)
亂碼是什麼樣子?是方框狀的?