当前位置:编程学习 > JAVA >>

中文乱码问题

大家好,本人目前做的一个项目,使用IE9浏览器登录系统首页之后,一切正常,右键查看编码格式是正确的UTF-8。但是点浏览器左上角的返回按钮(因为已经登录,所以不会后退到login页面,任然在首页面),结果首页出现乱码。右键查看发现编码格式被改为GB212了。
我们的页面都是采用的UTF-8编码的,如下:
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
在web.xml最开始的部分里也配置了spring的filter:

<filter>
<filter-name>encodingFilter</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>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


可恶的IE啊,大家有没有什么好的解决方案,拜谢了!!!
encoding filter UTF-8 GB2312 --------------------编程问答-------------------- 设置页面不缓存试试
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0); --------------------编程问答--------------------   请一下缓存... --------------------编程问答-------------------- 在乱码的页面加上META标签
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache,no-store, must-revalidate"> 
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="expires" CONTENT="0">
--------------------编程问答-------------------- html里编码的meta标签一定要加上,这样避免出错 --------------------编程问答-------------------- 我只想问一下 问题解决了没有 --------------------编程问答--------------------


引用 1 楼 o0lcl0o 的回复:
设置页面不缓存试试
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);


页面缓存已经加过了,没效果。 --------------------编程问答--------------------
引用 5 楼 heliming1008 的回复:
我只想问一下 问题解决了没有

还没有解决 --------------------编程问答--------------------
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Expires" CONTENT="0">  
<meta http-equiv="Cache-Control" CONTENT="no-cache">  
<meta http-equiv="Pragma" CONTENT="no-cache">
  

http://hi.baidu.com/ycizbtbsvkbauzq/item/8ff802fe544107da6325d24d
http://hi.baidu.com/darel1742/item/68af8aba282b9ffa4ec7fd55
http://bbs.csdn.net/topics/320058345 --------------------编程问答-------------------- 还会有这种问题啊。。。。是只有在IE浏览器上才有的问题?还是别的浏览器也有? --------------------编程问答-------------------- 这是浏览器的问题,更改浏览器编码设定,取消自动检测(若已选),取消默认编码GB2312。 --------------------编程问答-------------------- 登陆后,点击后退按钮,仍然停留在登陆后的首页,看你是如何实现在的,是不是这里的编码选择的有问题.
在你的后端类里的逻辑,也把不保存缓存加上.

   response.setHeader("Cache-Control","no-cache"); 
    response.setHeader("Pragma","no-cache");
    response.setDateHeader ("Expires", 0);  --------------------编程问答-------------------- 以前自己写的过滤器

<filter>
       <filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.neu.eshop.common.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>[/color]
--------------------编程问答-------------------- 修改tomcat,加上URIEncoding="UTF-8"看看  --------------------编程问答--------------------
引用 13 楼 Java_cai_2011 的回复:
修改tomcat,加上URIEncoding="UTF-8"看看


我之前也出现过乱码就是像这样修改的tomcat里面seevice.xml的配置、楼主可以试一试
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,