`
janedoneway
  • 浏览: 569663 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java中文乱码

    博客分类:
  • Java
 
阅读更多

在Java Web系统中出现中文乱码往往是因为编码不一致,需要统一数据库端与系统的的编码。

 

例如统一为UTF-8编码:

 

1)数据库的字符集编码设为UTF-8

 

2)在所有JSP页面中:

页面顶部添加:<%@ page contentType="text/html;charset=UTF-8" %>,

        在页面的meta中加入:

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

 

3)在系统中:

         (1) 在Servlet层处理每个请求前设置:request.setCharacterEncoding("UTF-8");

 

         (2) 或者在web.xml中配置自定义filter来设置request.setCharacterEncoding("UTF-8");

         filter示例:

 

         (3) 或者在web.xml中配置spring的CharacterEncodingFilter

         <filter>

<filter-name>characterEncodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

<init-param>

<param-name>forceEncoding</param-name>

<param-value>true</param-value>

</init-param>

  </filter>

 

如果使用Tomcat作为web server, 以上的设置只能对POST请求起作用,对于GET请求(如通过超链接访问)需要在

TOMCAT_HOME_DIR\conf\server.xml中做以下修改(添加:URIEncoding="UTF-8"):

 

 <Connector port="8080" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8443" acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="true" 

       URIEncoding="UTF-8"/>

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics