[原创] Java WebApp 中的 MySql 中文乱码问题
来源:互联网 发布:c多进程编程 编辑:程序博客网 时间:2024/06/09 17:45
最近在做 Java WebApp 的过程中总结 Hibernate 与各种数据库的连接与操作的时候中遇到了不少问题,也获得了不少经验,其中,JSP 插入 MySql 中文乱码问题应该是不少 Progammer 都遇到过的,所以我把解决这个问题的一些技巧和注意问题记录下来,以供参考。
首先,要提到的是 MySQL 4.1 对多语言的支持有了很大变化,开始提供对 Unicode 编码的支持,这里我推荐大家使用 UTF-8 编码来加强 Java 项目对多语言的支持。然而,就是这个编码的问题还是让不少人头疼不已,其实,我们所要做的就是让页面显示和数据库的编码统一罢了,一点也不复杂 ...
首先,我在 JSP 页面加上 来强制页面显示 UTF-8 字符。然后,我给 webapp 加入了一个 Filter 来过滤提交过程中出现的乱码字符,具体 Filter 的相关程序以及配置如下:
EncodingFilter.java
import javax.servlet.FilterChain;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.Filter;
import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.FilterConfig;
public class EncodingFilter implements Filter...{
protected FilterConfig filterConfig;
private String targetEncoding = null;
public void init(FilterConfig config)throws ServletException...{
this.filterConfig = config;
this.targetEncoding = config.getInitParameter("encoding");
}
public void doFilter(ServletRequest srequest,ServletResponse sresponse,FilterChain chain)throws IOException,ServletException...{
// System.out.println("doFilter : encoding=" + targetEncoding);
HttpServletRequest request=(HttpServletRequest)srequest;
request.setCharacterEncoding(targetEncoding);
chain.doFilter(srequest,sresponse);
}
public void setFilterConfig(final FilterConfig filterConfig)...{
this.filterConfig=filterConfig;
}
public void destroy()...{
this.filterConfig=null;
}
}
在 web.xml 加入如下配置:
<filter>
<filter-name>encoding</filter-name>
<filter-class>EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置好 Filter 后,我们在 Mysql Server 端的配置文件 my.cnf(my.ini)中的 [mysqld] 下加入 default-character-set =utf8 并放到 /etc 目录下,重启 MySql 服务,你也可以用 show variables 命令查看一下刚才的配置时候已经生效。完成以上步骤之后你就可以放心的向 MySql 中插入或抽取数据了,OK :)
- [原创] Java WebApp 中的 MySql 中文乱码问题
- MySQL中文乱码解决方法(原创)
- 【原创】批处理中文乱码问题
- mysql中文乱码问题,数据库中的解决办法
- SSH+MySQL开发中的中文乱码问题
- SSH+MySQL开发中的中文乱码问题
- 解决Mysql中的中文乱码问题
- Java链接Mysql中文乱码问题处理
- java读取mysql数据库中文乱码问题
- java和mysql中文乱码问题
- Java-MySQL中文乱码编码问题总结
- java+mysql的中文乱码问题
- java + tomcat +mysql 中文乱码问题
- Java-MySQL中文乱码编码问题总结
- java中文字符写入MySQL乱码问题
- Java MySQL 中文出现乱码的问题
- java、MySQL数据库中文乱码问题
- MySql java 中文乱码问题彻底解决 MAC
- + Taste Cookie Of Ruby on Rails +
- 类模版继承中的虚函数使用示例
- 一日三餐中也能吃出健康
- 比尔盖茨夫妇现身贫民窟
- [惊叹] Flash 9 Alpha 面世宣言!
- [原创] Java WebApp 中的 MySql 中文乱码问题
- synchronized
- 天文网上资源
- JDBC连接mysql代码
- Windows Vista 部署技术
- Script 学习
- log4j
- 我的Blog
- ztdll.dll病毒如何清除