mysql数据库进行更新、插入显示中文乱码问题

        很多种情况下,从数据库中查询出来的内容中文显示正确,但是如果向数据库中插入或更新表时,会出现中文乱码问题,但英文显示正确,以下三种方式可以解决中文乱码问题。

1.数据库连接的配置文件中添加characterEncoding=utf-8

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc\:mysql\://localhost\:3306/stu?characterEncoding=utf-8

jdbc.username=root

jdbc.password=root

大多数情况下,这种方式就可以解决,如果不行,继续配置以下两种方式。     

2.使用过滤器filter

在com.baidu.filter包下——选择new——新建filter过滤器——MyEncodingFilter.java。在doFilter方法中,添加如下内容:

  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        //设置编码格式
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        chain.doFilter(request, response);
    }

并且配置web.xml文件,如果文件自动有配置就不用了,否则,切记web.xml文件一定要配置。

<filter>
    <filter-name>MyEncodingFilter</filter-name>
    <filter-class>com.baidu.filter.MyEncodingFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>MyEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

3.配置工具中的编码格式,例如explice中,window—general—workspace—Text file Encoding设置为utf-8。

以上三种方法,基本可解决所有的乱码问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值