问题形容

eclipse我的项目,SSM,前端填写表单(form元素),提交所填写的中文“收货地址”,存到数据库,呈现中文乱码的问题
(数据表中是乱码的,从数据库读到页面上的也是乱码的)
 
 
 

可能

1.eclipse我的项目编码格局(这个预计最影响)

批改eclipse我的项目的编码格局
 
阐明:Windows下eclipse默认编码为GBK。
 
留神:如果你不介意我的项目中的中文正文全乱码,能够间接批改。如果介意,倡议从新建一个我的项目,而后用原我的项目的src文件夹和WebContent文件夹笼罩新我的项目的src和WebContent文件夹

 
 
 
 

2.批改tomcat的server.xml(这个也很重要)

1)用文本编辑器(如记事本),关上tomcat装置目录下conf文件夹下的server.xml

阐明:如果不记得装置门路,能够用everything软件搜寻tomcat-

 

2)搜寻connectionTimeout="20000",加上URIEncoding="UTF-8",保留文件。

 
 
 
 

3.数据库连贯时要写上encoding=UTF8

1)如果你是间接在applicationContext.xml中配置数据源,查看下url的值

即下方的<property name="url" value="jdbc:mysql://localhost:3306/easymall?characterEncoding=utf8"/>
看是否写了characterEncoding=utf8

    <!--配置数据源-->    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>        <property name="url" value="jdbc:mysql://localhost:3306/easymall?characterEncoding=utf8"/>        <property name="username" value="root"/>        <property name="password" value="12345678"/>        <!--最大连接数-->        <property name="maxTotal" value="30"/>        <!--最大闲暇连接数-->        <property name="maxIdle" value="10"/>        <!--初始化连接数-->        <property name="initialSize" value="5"/>    </bean>

 
 
 
留神(满腹经纶,踩过坑,所以补充一下,轻喷): 不要写成<property name="url" value="jdbc:mysql://localhost:3306/easymall?useUnicode=true&characterEncoding=utf8"/>或者<property name="url" value="jdbc:mysql://localhost:3306/easymall?characterEncoding=utf8&useUnicode=true"/>
即不要加上useUnicode=true,否则无奈启动服务器,无法访问页面,如果报错了,倡议翻下console面板中的控制台输入(多往上翻,不要只看最初一块的报错信息)

 
 
 
 
 
2)如果你是加载配置文件,则批改配置文件中url的编码

具体参考此文:SSM解决中文存入数据库乱码问题(记录本人的问题)
 
 
 
 

4.jsp视图加上UTF8(在新建jsp文件时就要留神)

个别在新建jsp时留神改过来就行(个别是ISO-8859-1

文件顶部的pageEncoding设置

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

 
 
 
 

5.我的项目的web.xml写上一些配置代码(影响不是很大)

留神:filter中的filter-name的值与filter-mapping中filter-name的值统一

<!-- 防止中文乱码 -->  <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>      <init-param>          <param-name>forceEncoding</param-name>          <param-value>true</param-value>      </init-param>  </filter>  <filter-mapping>      <filter-name>characterEncodingFilter</filter-name>      <url-pattern>/*</url-pattern>  </filter-mapping>

 
 
 
 

参考

解决springmvc承受前端传来的中文呈现中文乱码状况

SSM解决中文存入数据库乱码问题(记录本人的问题)

IDEA向数据库中插入中文数据乱码问题永恒解决办法