url传参数出现中文乱码,怎么解决?

JavaScript026

url传参数出现中文乱码,怎么解决?,第1张

一般出现乱码都是在js_面跳转到哪个类 然後得到这个参数的时候中文乱码,\x0d\x0a有一个非常实用的办法,在js你可以这样写:\x0d\x0avar url=........\x0d\x0aurl=encodeURI(url)\x0d\x0aurl=encodeURI(url)//最重要的部分,两次调用encodeURI ,就是编码两次\x0d\x0a然後在跳转到url所在的类, 获取这个参数的方法如下:\x0d\x0aString name=request.getParameter("name")\x0d\x0aname=URLDecoder.decode(name,"utf8")\x0d\x0a这样就能解决乱码问题了,这种方法还没遇到过不能解决的乱码,

在jsp中,如果在url中传递中文时会出现乱码,其实解决方法非常简单: 第一步:编码(以传递的参数为str为例) 在传递数据前将str进行编码Java.net.URLEncoder.encode(str) 第二步:解码 在获取数据端将得到的数据进行解码 new String(str.getBytes("ISO8859_1"))

简单示例程序如下:

<%@ 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")