Controller页面乱码的问题(修改tomcat默认的编码方式 )

来源:互联网 发布:易语言源码与模块解析 编辑:程序博客网 时间:2024/03/29 22:40

最近在做项目自测的时候发现,每次输入查询条件为中文时,后端Controller层中请求的的VO中都是乱码,第一次遇到没有头绪,于是开始了各种排除法

一、在jsp中,页面的编码很明确:

<%@ page language="java" contentType="text/html; charset=UTF-8"         pageEncoding="UTF-8" %>
二、在Controller层,打印出默认的编码格式,也是UTF-8,打印方式:

System.out.println(request.getCharacterEncoding());
三、查看IDE编码方式,毫无疑问都是UTF-8。

这我就奇了怪了,所有编码方式都一致,怎么可能还会有错,思前想后,从页面表单中提交的数据在Java程序里显示乱码,还有一种可能就是Tomcat的编码没有设置,tomcat的默认编码是iso8859-1,而程序的默认编码为UTF-8,这里出现了冲突,所以修改tomcat下的conf/server.xml文件。

找到如下代码:   
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这段代码规定了Tomcat监听HTTP请求的端口号等信息。

修改为如下情况

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

就可以啦!


0 0
原创粉丝点击