乱码问题怎么解决 在数据库中 是正常的 也加了过滤器呀

来源:4-4 员工管理(下)

_陈辰晨尘_

2018-10-05 17:45:52

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="com.imooc.oa.dao"/>

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/oa?useUnicode=true&amp;characterEncoding=utf-8"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>

    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="typeAliasesPackage" value="com.imooc.oa.entity"/>
    </bean>

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="sqlSessionFactoryBeanName" value="sessionFactory"/>
        <property name="basePackage" value="com.imooc.oa.dao"/>
    </bean>

</beans>
package com.imooc.oa.global;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class EncodingFilter implements Filter {
    private String encoding = "utf-8";
    public void init(FilterConfig filterConfig) throws ServletException {
        if(filterConfig.getInitParameter("encoding")!=null){
            encoding = filterConfig.getInitParameter("encoding");
        }
    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest)servletRequest;
        HttpServletResponse response = (HttpServletResponse)servletResponse;
        request.setCharacterEncoding(encoding);
        response.setCharacterEncoding(encoding);
        filterChain.doFilter(request,response);
    }

    public void destroy() {
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <filter>
        <filter-name>encoding</filter-name>
        <filter-class>com.imooc.oa.global.EncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/assets/*</url-pattern>
        <url-pattern>/js/*</url-pattern>
        <url-pattern>/vendor/*</url-pattern>
        <url-pattern>*.js</url-pattern>
        <url-pattern>*.jpg</url-pattern>
        <url-pattern>*.gif</url-pattern>
        <url-pattern>*.png</url-pattern>
        <url-pattern>*.css</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-web.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>


</web-app>


写回答

5回答

一叶知秋519

2018-10-08

建议同学到cmd命令行,连接数据库以后,使用sql语句对数据库中的数据进行查询,看查询出来的数据是不是乱码~

如果还有问题,可以再次提问。祝学习愉快!

0

_陈辰晨尘_

提问者

2018-10-08

http://img.mukewang.com/climg/5bbabc4500016bf712730839.jpg是这个样子的呀

0

好帮手慕阿莹

2018-10-08

你的idea的编码格式是utf-8的吗?可以按下图方式查看一下idea的编码格式,

http://img.mukewang.com/climg/5bbab7d30001c76107350255.jpg

祝学习愉快~


0
h陈辰晨尘_
h 的确是UTF8 我怀疑是不是数据库出问题了 就是下拉框那一块是中文 如果下拉框里面的是英文 其他的我都填成英文 是可以提交的 保存的 但是 如果填的是中文 提交他会报错 希望老是看一下 数据库 我的数据库是完全复制老师的添加的 到底是那个环节出了问题 我不知道 目前 就是这个编码问题 其他的都还好
h018-10-08
共1条回复

_陈辰晨尘_

提问者

2018-10-07

不可以的  我把名字更改了 还是不行  而且 你打中文提交或出现错误  http://img.mukewang.com/climg/5bb9981a0001822914640644.jpg

0

好帮手慕珊

2018-10-07

你好!把过滤器和参数换成不同的名字,然后再试试

http://img.mukewang.com/climg/5bb9763e00017d4207060243.jpg

祝学习愉快!

0

0 学习 · 4317 问题

查看课程