Controller页面乱码的问题(修改tomcat默认的编码方式 )
2017-02-24 17:15
525 查看
最近在做项目自测的时候发现,每次输入查询条件为中文时,后端Controller层中请求的的VO中都是乱码,第一次遇到没有头绪,于是开始了各种排除法
一、在jsp中,页面的编码很明确:
二、在Controller层,打印出默认的编码格式,也是UTF-8,打印方式:
三、查看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" />
就可以啦!
一、在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" />
就可以啦!
相关文章推荐
- 如何修改tomcat服务器默认的编码方式?javaweb工程乱码问题解决。
- 修改Tomcat默认编码消除get方式传递参数出现中文乱码
- 在jsp中,获取页面中中文输入的值乱码问题解决。修改tomcat的编码问题
- 修改Tomcat默认编码消除get方式传递参数出现中文乱码
- 页面提交乱码问题(tomcat默认编码问题)
- 解决vs2005打开UTF-8编码的文件乱码和修改新增文件时的默认编码方式的问题
- 解决java乱码的问题的两种方式tomcat编码修改
- 解决表单乱码问题之一,修改tomcat默认编码格式
- 修改Tomcat默认编码,防止页面中文参数乱码
- 修改Tomcat默认编码解决中文传值乱码问题
- 关于乱码的问题--Tomcat的编码修改
- 修改tomcat默认的编码方式
- Spring MVC Controller中解析GET方式的中文参数会乱码的问题(tomcat如何解码)
- 重置mysql Root用户密码及修改默认字符集一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。 解决
- Centos6.5下修改Mysql5.6编码方式,解决乱码问题
- 中文乱码问题 ? 原因:JSP中默认使用iso-8859-1字符编码方式,不支持中文 ? 常见的支持中文的编码方式:gb2312(常用简体汉字)、gbk(简体和繁体汉字)、utf-8 ? 解决中文乱码
- 修改tomcat默认的编码方式
- 修改tomcat默认的编码方式
- 修改tomcat默认的编码方式
- mysql5.5 解决中文乱码问题 修改默认编码为utf8