日期:2014-05-16  浏览次数:20345 次

关于jsp乱码的问题



1 调用JSP页面出现乱码

                通过浏览器调用JSP页面,在浏览器中所有的中文内容出现乱码。

                首先确认本JSP在编码器中保存人家内容时,使用的UTF-8的编码格式,然后在JSP页面的开咋始,添加<%@ pageEncoding "utf-8"%> 就可以解决这个中文乱码问题。

      2 调用Servlet页面出现乱码

                   通过浏览器调用Servlet,Servlet在浏览器中所有的中文内容出现乱码

                    在Servlet使用response对输出内容之前,先执行response.setContentType("text/html;charset=utf-8")设定输出的内容的编码。

     3 POST表单传递参数乱码

                  通过JSP页面,HTML,页面或者Servlet中的表单元素提交参数给对应的JSP页面或者Servlet,而JSP页面或者Servlet接收的中文参数乱码。

                    在接收POST提交的参数之前,使用request.setCharacterEncoding("utf-8")设定接收参数内容的编码;

                  更好的解决方法,就是使用过滤器技术。有很多这样的帖子。

      4 URI方式传递参数或者GET方式乱码

                  修改TAMCAT的server.xml配置文件,

             <Connector port="8080" protocol="HTTP/1.1"

                         maxThreads="150" connectionTimeout="20000"

                          redirectPort="8443" URIEncoding="UTF-8" >

                红色部分就是添加的URIEncoding="UTF-8",重启TAMCAT就行了

    5 Properties文件乱码

               在使用一些类库或者框架时(例如:JSTL ,Format标签库,Displaytag标签库和Struts框架),为了实现页面内容的国际化,需要编写对应的properties文件,而propertise文件中的中文内容在显示的时候也会出现乱码。

             native2ascii -cencoding utf-8 displaytag.properties

            displaytag_zh_CN.properties

           还可以使用Eclispse的插件-------Properties Editor

           http://propedit.sourceforge.jp/index.html


原文http://115893520.iteye.com/blog/393665