简单示例程序如下:
<%@ page contentType="text/htmlcharset=gb2312" %
<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里","GB2312")%"点击这里</a<%//request.setCharacterEncoding("GBK")
if(request.getParameter("url")!=null){str=request.getParameter("url")
//下面是解码
str=java.net.URLDecoder.decode(str,"GB2312")
GBK与UTF-8的转码:iconv("gbk","utf-8","php中文转码")//把中文gbk编码转为utf8
iconv("utf-8","gbk","php中文转码")//把中文utf8编码转为gbk
一: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开始计算
在页面中对URL进行编码,最好不要在URL中传递中文参数否则会出现乱码1.在页面中对你的URL进行编码
使用------encodeURI(你要使用的中文参数值)如:...?username"+encodeURI(“小甜甜")
2.在后台通过解码来接收该中文参数
使用----String name = new String(request.getParameter("username ").getBytes("iso8859-1"),"utf-8")
3.最好不要在URL中传递中文参数