JSP页面写入中文到数据库乱码问题

今天遇到了,用了struts2之后,从jsp页面向数据库插入数据、修改数据时,插入的中文和修改的中文全是乱码的问题。

可以确定mysql的编码和jsp的编码都统一为utf-8,所以问题出在哪里一时间找不出来。

数据库编码

+--------------------------+---------------------------------------------------------------+
| Variable_name            | Value                                                         |
+--------------------------+---------------------------------------------------------------+
| character_set_client     | utf8                                                          |
| character_set_connection | utf8                                                          |
| character_set_database   | utf8                                                          |
| character_set_filesystem | binary                                                        |
| character_set_results    | utf8                                                          |
| character_set_server     | utf8                                                          |
| character_set_system     | utf8                                                          |
| character_sets_dir       | C:\Program Files (x86)\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------------+

一开始试了以下方法,结果没用
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page pageEncoding="UTF-8"%>

然后是这种,也没用

response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");

既然不关数据库和jsp的事情,那应该就是tomcat的问题了,于是我去查了怎么修改tomcat的配置文件
更改tomcat服务器编码
修改Tomcat—->conf—–>server.xml文件,在修改端口的标签后面加一行代码,如下:

<Connector port="8080" protocol="HTTP/1.1"   
              connectionTimeout="20000"   
              redirectPort="8443"  URIEncoding="UTF-8"/> 

自此终于解决了乱码问题。

你可能感兴趣的:(JSP页面写入中文到数据库乱码问题)