关闭

JSP页面乱码总结

260人阅读 评论(0) 收藏 举报

JSP乱码详解,初学者容易出现这种错误,按下面顺检查,99%可以解决乱码问题,直接看下面,你懂的。

1  检查编译平台  , 一般使用 Myeclipse平台,打开菜单的 

window -- >preferences-->  Myeclipse -->  workspace  -->  encoding  

 
       默认ISO8959-1 , 更改成UTF-8,如果没有这个选项,可以直接写上。

      这个最好在新建项目前检查,如果现有项目想改变编码,直接在项目名上右键 -->properies-->info ,

修改text file encoding ---->other---> UTF-8

 

2  JSP 页面显示, 必须设置编码

      <@ page      pageEncoding="UTF-8"%>

 

3 servlet / JSP  中取参数之前,必须设置
        request.setCharacterEncoding("UTF-8");

        requst.getParameter("xxxx");

 

4  servlet 响应客户端之前,也必须设置
        request.setContextType("text/html;charset=UTF-8");

         response.setCharacterEncoding("UTF-8")

       out.println("  成功 ");

    

< 以上3、4两种情况可以使用过滤器解决,比较方便彻底, 否则每个Servlet中都必须设置请求和响应编码    >

 

5 数据库乱码,读取数据或保存数据时 乱码

     一般 在数据库连接的的   url后 加上  charset=UTF-8

 

6  get提交的数据中如果有中文一般99%的情况都有乱码,而且设置过滤器过滤无效 , 设置请求编码也是无效的。

      一般是在浏览器地址栏中使用了中文,或者在链接的href后挂参数使用了中文,或者在表单中使用method=get 提交时,提交了中文 都会导致乱码。

 

    特别是表单提交,很多人都会忘记,<form   action=" "  ></form>     如果没有使用method属性,默认是get提交

   
    终极解决方案就是修改  <tomcat_home>/conf/server.xml 中的配置,

     添加属性   URIEncoding="UTF-8" 到??? 处

   <Connector port="8088"   protocol="HTTP/1.1"         connectionTimeout="20000"    ???    redirectPort="8443" />

 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5849次
    • 积分:98
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条