您的位置:首页 > 其它

WEB中文支持(编码问题解决)

2008-03-14 00:01 459 查看
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 >
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐