写JSP用URL传值时,中文出现乱码
在第二个页面,用request.getParameter得到乱码,怎么解决?
GATE_elpsycongroo
浏览 2363回答 3
3回答
-
qq_好好看好好学_04198100
为什么会出现乱码呢? 一定是某个地方编码错了!那么不如分析下,什么地方会出现问题网页发出一个request,无论是ajax还是url跳POST发送一个post请求,浏览器首先找 <meta>中找到 charset ,写法有两种<meta charset="utf-8"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />根据请求内容编码GET发送Get请求,先找到chatset 同上将url编码再将编码好后的url参数部分继续用 ascii编码服务器接收request首先解析请求,这里我们用tomcat为例,他会根据url的不同发给不同的servlet,这里存在一个url解码过程,Get请求乱码一般来源于此然后我们将解析好的request 丢给对应的setvlet,这个时候又进过一次解码,servlet默认解码为ios-8859-1,所以我们应该设置request.setCharacterEncoding("UTF-8");在拿到content之前设置!
-
sntatas
你看看JSP页面是否设置了UTF-8编码
-
大咪
前面加句话试试request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");