1、数据库数据乱码java
1.在java端,首先把工做空间的字符设置成utf8格式,链接数据库时配置mysql
cn.kting.base.dataSource1.jdbc.driverClassName=com.mysql.jdbc.Driver
cn.kting.base.dataSource1.jdbc.url=jdbc:mysql://192.168.1.123:8080/zhang?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
2.在数据库端,注意把全部格式设置成相应的utf8格式,个人问题就是在使用数据库客户端工具链接数据库时的格式没设置utf8,直接connect用了默认的格式,因此乱码了web
2、URL传中文乱码spring
1.发送请求方注意把格式设置为utf8sql
2.java后台,注意把工做空间的字符设置成utf8格式数据库
3.在web-inf目录下在web.xml中配置tomcat
<!-- 字符编码过滤器 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>app
4.修改tomcat的配置,在安装目录下搜索server.xml文件,修改工具
<Connector port="8080" protocol="HTTP/1.1"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
connectionTimeout="20000"
redirectPort="8443" />编码
添加上 URIEncoding="UTF-8" 和useBodyEncodingForURI="true",默认是没有这两个的
个人坑就是在4上面,搞了好长时间。
5.若是以上配置都不生效,仍是中文乱码,看一下tomcat的版本,7.0及如下的版本有问题,把tomcat更新到8.0以上。