java后台中文乱码问题

一、数据库数据乱码

1.在java端,首先把工作空间的字符设置成utf8格式,连接数据库时配置

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用了默认的格式,所以乱码了

二、URL传中文乱码

1.发送请求方注意把格式设置为utf8

2.java后台,注意把工作空间的字符设置成utf8格式

3.在web-inf目录下在web.xml中配置

<!-- 字符编码过滤器 -->
    <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>

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以上。

 

 

转载于:https://my.oschina.net/u/2606060/blog/693040

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值