spring MVC中文乱码相关总结

总结几种方式,都使用的话能解决大多数乱码的情况

1.所有页面使用

<%@page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>

  

2.服务器添加过滤器

<!-- 编码过滤器 -->
  <filter>
        <filter-name>characterEncoding</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>characterEncoding</filter-name>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>

这是为了解决post表单中的中文能顺利提交到后台

3.GET请求中文乱码,修改tomcat中的server.xml配置文件

tomacat对GET和POST请求处理方式是不同的,要处理针对GET请求的编码问题,则需要改tomcat的server.xml配置文件,如下:

把这个

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

修改成

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>

或者

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" uRIEncoding="utf-8"/>

最关键的点在这里:如果你是更改的tomcat安装目录的server.xml配置文件,那么在用eclipse运行项目时会发现配置没起作用,其实是因为eclipse在运行项目时是用的eclipse中配置的tomcat,那么问题就好解决了,打开eclipse中的tomcat配置文件。

更多的可以参考 http://blog.csdn.net/xuechongyang/article/details/8283924

时间: 2024-08-01 19:21:51

spring MVC中文乱码相关总结的相关文章

彻底解决Spring MVC 中文乱码 问题

目录(?)[+] 1:表单提交controller获得中文参数后乱码解决方案 注意: jsp页面编码设置为UTF-8 form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果 [html] view plain copy <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> [html] view plain copy <

spring mvc中文乱码解决思路

引起乱码原因为spring mvc使用的默认处理字符串编码为ISO-8859-1,具体参考org.springframework.http.converter.StringHttpMessageConverter类中public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1"); 解决方法: 第一种方法: 对于需要返回字符串的方法添加注解,如下: @RequestMapping(value=&quo

web开发实践中遇到的问题--spring mvc中文乱码

jsp页面中文输入,到controller乱码,这时候需要设置的是在web.xml文件中添加一个编码的过滤器(filter)将编码统一为UTF-8.代码: <!-- jsp提交中文表单,controller中解决中文乱码问题--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.Char

(转)spring mvc 中文乱码问题解决

在eclipse环境里,页面传输数据的时候通常用ISO-8859-1这个字符集可以用 str = new String(str.getBytes("ISO-8859-1"), "GBK"); 转码str是你页面得到的字符串,后面的表示从"ISO-8859-1"转到"GBK",或者你转成别的也可以 16:35 浏览 (1550) 评论 (2) 分类: 技术 收藏 相关推荐 评论chenlb 2007-09-09 回复 不好意思多

解决Spring MVC中文乱码

在web.xml中设置编码过滤器 <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name>

spring mvc中文乱码问题

如果是post,在web.xml中加上 < filter> < filter-name>CharacterEncodingFilter</filter-name> < filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> < init-param> < param-name>encoding</param-

spring mvc 中文乱码处理

在 web.xml中添加 <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <

spring Mvc Web 编码相关 [model 到 视图传递数据] (九)

在某种编码环境,由bean注解的参数可能会发生乱码问题. 即可页面web.xml或其他地方都设备UTF-8, 但还是会有这样的问题. 首先不要使用model传到视图的数据. 第二,不要request.getParamer或request.getAttribute方式,这其他就有解码内置. 第三,首先对传进来的url,其中有汉字的进行escape加码,再传到目标端. 第四,经过escape的参数,使用request.getParameter或attribute获取值为 null spring Mv

解决Spring MVC ResponseBody 乱码问题

解决Spring MVC ResponseBody 乱码问题 @RequestMapping(value="qxyjqyresult",produces = "plain/text; charset=UTF-8") @ResponseBody public String getQxyjqyResult(String filename) throws Throwable { return "中文" }