表单提交后数据中文乱码的终极解决方案

来源:互联网 发布:域名如何更换 编辑:程序博客网 时间:2024/05/22 17:40

1、查看页面是否使用utf-8编码

①jsp页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>

②html页面:

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

2、在数据库连接url后面加上unicode参数

①使用的是非properties文件(如在hibernate.cfg.xml中配置):

<property name="hibernate.connection.url">        jdbc:mysql://localhost:3306/数据库名?useUnicode=true&amp;characterEncoding=UTF-8    </property>

②使用的是properties文件(重点):

jdbcUrl=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8

注意,如果你使用的是properties文件配置数据库的连接信息,参数连接一定要用&,不要使用& amp;,不然会失效!!!

3、在struts.xml中使用国际化

<constant name="struts.i18n.encoding" value="UTF-8" />

4、使用全局中文乱码过滤器

可参考我之前写的文章:http://blog.csdn.net/csdn_lqr/article/details/52901898

个人感悟:

实际开发中,如果使用的是ssh框架,到了第2步基本不会出现中文乱码问题了,如果使用的是servlet的话,建议使用全局中文乱码过滤器。说白了,中文乱码问题就是编码不一致导致的,只要保证了前端(页面使用meta标记utf-8),后端(对参数的解析、与连接库的连接),和数据库(数据库的编码格式)都使用统一的编码,一般不会出现乱码问题。
0 0
原创粉丝点击