码迷,mamicode.com
首页 > Web开发 > 详细

web 乱码摘抄

时间:2014-05-01 12:54:13      阅读:530      评论:0      收藏:0      [点我收藏+]

标签:java   ext   get   string   html   set   cti   htm   type   数据   har   

JavaWeb--中文乱码小结 JavaWeb--中文乱码小结
0.纯粹html乱码:
换个editor吧(有时候notepad都比sublime_text好用),最好是在<head></head>之间添加<meta charset="utf-8">

1.jsp到jsp之间,表单
(假设包含表单的页面为a,提交的action为b)
get:不乱码
post:乱码(在b页面用<%request.setCharacterEncoding("utf-8");%>)
超链接形式的跳转,如果带有参数,本质上还是get方法,所以不会乱码

2.jsp到jsp之间,转发,转发参数乱码(<jsp:forward>+<jsp:param>)
需要在转发标签<jsp:forward>之前添加<%request.setCharacterEncoding("utf-8");%>

3.servlet页面out对象输出中文,乱码
在相应的方法中添加response.setContentType("text/hmtl;charset=UTF-8");

4.jsp提交表单到servlet,servlet获取表单变量乱码
若表单是post方法:在servlet相应方法中添加request.setCharacterEncoding("UTF-8");
若表单是get方法:在servlet相应方法中添加request.setCharacterEncoding("UTF-8");,
或者用getBytes转码并构造新的String,例如;
String username = request.getParameter("username");
String name = new String(username.getBytes("ISO-8859-1"), "UTF-8");

总结一下:
对于post方法提交的表单,获取表单数据的页面都要用request.setCharacterEncoding("UTF-8");
对于get方式提交的表单,获取表单数据的页面既可以用request.setCharacterEncoding("UTF-8")
也可以用getBytes()的方法构造新的String;对于使用<jsp:param>传递参数的情况,需要在传递参
数前设定request.setCharacterEncoding("UTF-8");

web 乱码摘抄,布布扣,bubuko.com

web 乱码摘抄

标签:java   ext   get   string   html   set   cti   htm   type   数据   har   

原文地址:http://www.cnblogs.com/wangshixin/p/3701507.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!