【SSM】WEB项目中的中文乱码问题

匿名 (未验证) 提交于 2019-12-03 00:22:01
                <div class="markdown_views">             <h4 id="1解决html页面中的中文问题">1.解决HTML页面中的中文问题:</h4> 

为了使HTML页面很好地支持中文,就必须在每个HTML页面的头部增加如下代码:

<META http-equiv=Content-Type content="text/html;charset=utf-8">
  • 1

为了使JSP页面很好地支持中文,就必须在每个JSP页面的头部增加如下代码:

<%@ page contentType="text/html;charset=utf-8" language="java"%>
  • 1

为了使Servlet页面很好地支持中文,就必须在每个Servlet页面的头部增加如下代码:

response.setCharacterEncoding("utf-8");
  • 1

为了使中文数据在各页面(组件)之间正常传递,最佳的方法就是采用编码过滤器来解决。在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>gb2312</param-value>         </init-param>       </filter>      <filter-mapping>         <filter-name>encodingFilter</filter-name>         <url-pattern>/*</url-pattern>     </filter-mapping>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

检查了很多地方,java文件都已经是utf-8格式
xml和jsp也都设置了utf-8格式
数据库也设置了utf8格式
但是插入和更新数据还是问号
最后发现需要在jdbc.properties文件内指定utf8格式

driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=UTF-8
  • 1
  • 2

修改tomcat下的conf/server.xml文件, 添加URIEncoding=”UTF-8”

<Connector port="8080" protocol="HTTP/1.1"                  connectionTimeout="20000"                  redirectPort="8443" URIEncoding="UTF-8" />  
  • 1
  • 2
  • 3

在springmvc配置文件中添加

<mvc:annotation-driven>           <!-- 消息转换器,解决responseBody返回中外乱码问题 -->           <mvc:message-converters register-defaults="true">               <bean class="org.springframework.http.converter.StringHttpMessageConverter">                   <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />               </bean>           </mvc:message-converters>       </mvc:annotation-driven>   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!