jsp/servlet中文乱码问题

来源:互联网 发布:空调 ees软件 编辑:程序博客网 时间:2024/04/25 05:15

        今天遇到新的问题:从html页面获取表单数据,在Servlet中处理并插入Mysql数据库中,结果中文出现乱码,起初的具体操作如下:

1、在Java Web工程中新建html表单页面,用于接收用户输入的数据;

2、在工程src目录下新建包,新建Servlet用于处理表单数据;

3、在web.xml 文件中添加<servlet></servlet> 和<servlet-mapping></servlet-mapping> 标签,用于制定Servlet的虚拟路径;

4、在form表单的设置action属性为相应的Servlet虚拟路径;

以上步骤中的具体代码这里省略,假定程序运行正常,但数据库中的中文数据是呈乱码状态的

 

那么以上影响到中文乱码的都有那些地方呢?

a、Tomcat 安装路径下的conf文件夹下的,的server.xml文件中有一段代码  需要添加  URIEncoding="UTF-8"   ;

b、Mysql数据库的编码集设置(一般设置为gb2312);

c、还有就是在Servlet中 设置请求(request)和响应(response)的编码方式:

           request.setCharacterEncoding("UTF-8");

           response.setCharacterEncoding("UTF-8");

 

实际遇到的问题是,上述所有地方都做了合理的设置后,插入到数据库中的中文仍为乱码,

于是我通过一番探索,最终找到该问题的解决方案:

在每个html表单页面中也设置一下编码方式,具体操作就是在<head></head>标签中使用<meta >标签

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

 

(本文为笔者自己的学习总结,如有错误,欢迎评点)