① 为什么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.
有疑问发消息(注明问题)
乱码是什么样子?是方框状的?