您的位置:首页 > 其它

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

2016-11-13 17:18 393 查看

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&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),后端(对参数的解析、与连接库的连接),和数据库(数据库的编码格式)都使用统一的编码,一般不会出现乱码问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息