赞
踩
最大的原因就是tomcat8前面的版本默认编码是ISO-8859-1,tomcat 8之后默认编码是UTF-8,所以!!!!!!
当我们在java文件中或者过滤器中添加这行代码的时候,就会变成问号!!!!
new String(value.getBytes("ISO-8859-1"), "utf-8");
(具体原因看下面)
在写这篇文章写到一半,突然就想出了解决办法
原因是我使用了网上的过滤器jar包,里面有一句
//把ISO-8859-1编码的值变成utf-8
value = new String(value.getBytes("ISO-8859-1"), "utf-8");
value:就是我们传过来的中文
ISO-8859-1:tomcat的默认编码
由于tomcat8默认编码是utf-8,而这个过滤器把他当成ISO-8859-1解码时,就会出现问题,导致所有中文变成问号
所以我们只需要不使用这个过滤器就可以了!!!!!
(这个是第一遍写一半的时候突然想到了原因所在,大家可以不用看,我只是留作第一次写博客的纪念)
这几天被 getParameter()方法,得到中文值显示的却是问号的问题烦恼了很久,百度了好久,所有答案都试过了都还是解决不了,所以特地发出一个比较另类的解决方法,如果有大神知道如何正确解决的,请在评论帮我们解惑,谢谢
前提(也就是我有设置这些东西还是没用):
jsp页面设置了UTF-8
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
tomcat设置了编码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。