记录一下自己学习SSM框架遇到的一个乱码问题:
前台保存中文数据,数据库中是乱码。
解决思路
首先考虑的是web.xml中配置的中文乱码过滤器,主要是在初始化参数中注明需要的编码格式
<!--配置处理中文乱码的过滤器-->
<filter>
<filter-name>characterEncodingFilter</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>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
接下来就是考虑mybatis向数据库写入数据时的编码问题,在url中指明需要的编码格式
<!--配置连接池对象-->
<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/ssm?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean>
这篇博客记录了在使用SSM(Spring、SpringMVC、MyBatis)框架时遇到的中文乱码问题及解决方法。首先,通过在web.xml中配置CharacterEncodingFilter设置请求编码为UTF-8来解决前端到后台的数据传递乱码。然后,针对数据库存储乱码,博主在MyBatis的数据库连接URL中添加`useUnicode=true`和`characterEncoding=UTF-8`参数确保数据库写入时的编码正确。
8774





