为了账号安全,请及时绑定邮箱和手机立即绑定

写JSP用URL传值时,中文出现乱码

写JSP用URL传值时,中文出现乱码

GATE_elpsycongroo 2016-11-19 08:25:37
在第二个页面,用request.getParameter得到乱码,怎么解决?
查看完整描述

3 回答

?
qq_好好看好好学_04198100

TA贡献4条经验 获得超2个赞

为什么会出现乱码呢? 一定是某个地方编码错了!

那么不如分析下,什么地方会出现问题

  1. 网页发出一个request,无论是ajax还是url跳

    1. POST

      1. 发送一个post请求,浏览器首先找 <meta>中找到 charset ,写法有两种

        1. <meta charset="utf-8">

        2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

      2. 根据请求内容编码

    2. GET

      1. 发送Get请求,先找到chatset 同上

      2. 将url编码

      3. 再将编码好后的url参数部分继续用 ascii编码

  2. 服务器接收request

    1. 首先解析请求,这里我们用tomcat为例,他会根据url的不同发给不同的servlet,这里存在一个url解码过程,Get请求乱码一般来源于此

    2. 然后我们将解析好的request 丢给对应的setvlet,这个时候又进过一次解码,servlet默认解码为ios-8859-1,所以我们应该设置request.setCharacterEncoding("UTF-8");在拿到content之前设置!

查看完整回答
反对 回复 2016-11-19
?
sntatas

TA贡献53条经验 获得超11个赞

你看看JSP页面是否设置了UTF-8编码

查看完整回答
反对 回复 2016-11-19
?
大咪

TA贡献785条经验 获得超332个赞

前面加句话试试

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");


查看完整回答
反对 回复 2016-11-19
  • 3 回答
  • 0 关注
  • 2362 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信