3 回答
qq_好好看好好学_04198100
TA贡献4条经验 获得超2个赞
为什么会出现乱码呢? 一定是某个地方编码错了!
那么不如分析下,什么地方会出现问题
网页发出一个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之前设置!
大咪
TA贡献785条经验 获得超332个赞
前面加句话试试
request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
添加回答
举报
0/150
提交
取消