『壹』 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() 使用
『贰』 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("中文文字")。
『叁』 javascript get参数获取中文乱码
var getParam = function(key){
var lot = location.search;
var reg = new RegExp(".*" + key + "\\s*=([^=]*)(?=&|#|).*","g");
return decodeURIComponent(lot.replace(reg, "$1"));
}
『肆』 Js的Url中传递中文参数乱码,如何获取Url中参数问题
先编码 接收端在解码,escape,你查一下手册!
『伍』 利用JS获取地址栏的中文参数,如何避免取到乱码
地址栏的URL不同的浏览器的行为不太一样,有的会按归照GB编码编码成%A1%A1这种形式回,有的会按照UTF-8编码,直接输答入URL和点击链接访问的URL也可能不一样。
这样js取值的时候会出现字符集的问题。
建议还是修改ASPX文件,取到值以后生成js时赋值给某个变量。
『陆』 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>
不过传中文接收不到……
『柒』 url传参数出现中文乱码,怎么解决
一般出现乱码都是在js裏面跳转到哪个类 然後得到这个参数的时候中文乱码,
有一个非常实用的办法,在js你可以这样写:
var url=........;
url=encodeURI(url);
url=encodeURI(url); //最重要的部分,两次调用encodeURI ,就是编码两次
然後在跳转到url所在的类, 获取这个参数的方法如下:
String name=request.getParameter("name");
name=URLDecoder.decode(name,"utf8");
这样就能解决乱码问题了,这种方法还没遇到过不能解决的乱码,
『捌』 我要在jsp页面上获取url中的参数,参数中有中文会出现乱码
你需要保持jsp页面和Servlet类中的编码一致。
jsp页面:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body></body>
</html>
Servlet类中:
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
request.setCharacterEncoding("UTF-8") ;
.....
}
『玖』 js获取参数遇汉字变成url码了,如果解决
使用decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
把代码专中的this[name] = value;修改成属this[name] = decodeURI(value);即可。
『拾』 如何把js获取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)); }// ]]>