1、保存数据库支持中文
更改数据库的配置文件,目前的主流数据库都支持中文,MYSQL除外,这就要求更改MYSQL的配置文件. 进入MYSQL的安装目录,打开数据库的配置文件,名字应该为 " 数据库名.ini "(my.ini),如果用的了mysql的连接包要使用mysql-connector-java-3.1以后的JAR包 。
- [client]
- port =3306
- [mysql]
- default-character-set=gb2312(gb2312就是要改的地方,记得是两处)
2、保证发布的WEB项目容器支持中文 ,目前的容器如 WebLogic ,JBoss都 没有这个问题,只有TOMCAT有这个问题。进入TOMCAT目录下的conf里面,打开 server.xml
- <!-- A "Connector" represents an endpoint by which requests are received
- and responses are returned. Documentation at :
- Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
- Java AJP Connector: /docs/config/ajp.html
- APR (HTTP/AJP) Connector: /docs/apr.html
- Define a non-SSL HTTP/1.1 Connector on port 8080
- -->
- <Connector port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443"
- reloadable="true"
- URIEncoding="utf-8"
- />
- 这里的reloadable="true"表示动态部署URIEncoding="utf-8"表示进入就是中文
3、必须告诉前台页面收集器,页面为中文
<%@ page language = "java" import = "java.util.*" pageEncoding = "UTF-8" %>
4、如果还有问题,增加过滤器
如:struts过滤器
1)过滤器类
- package struts.commons;
- import java.io.UnsupportedEncodingException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.struts.action.RequestProcessor;
- public class MyFilter extends RequestProcessor{
- //重写processPreprocess方法
- protected boolean processPreprocess(HttpServletRequest arg0, HttpServletResponse arg1) {
- try {
- //具体转换内容
- arg0.setCharacterEncoding( "gb2312" );
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return true ;
- }
- }
2)修改struts-config.xml
- <? xml version = "1.0" encoding = "UTF-8" ?>
- <! DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd" >
- < struts-config >
- < data-sources />
- < form-beans />
- < global-exceptions />
- < global-forwards />
- < action-mappings />
- <!-- 过滤器必须加在message-resources上面 -->
- <!-- 这里的processorClass写过滤器的类名 -->
- < controller processorClass = "struts.commons.MyFilter" ></ controller >
- < message-resources parameter = "struts.ApplicationResources" />
- </ struts-config >