日期:2014-05-18  浏览次数:20757 次

页面隔三差五 就要乱码一次 怎么解决?
Eclipse默认编码格式GBK

JSP上3个地方都是GB2312 

隔段时间再看开页面 就变成乱码

UTF-8 也一样

怎么解决

好几次碰到巧乱码期,头头要来看 - =

郁闷哎

------解决方案--------------------
我感觉这是浏览器的问题,好多网站都有这个问题
------解决方案--------------------
用过滤器
------解决方案--------------------
你可以看看你的web服务器字符集配置
亦可以写过滤器啊
还有一个办法是用java.util.String的构造函授进行转换
------解决方案--------------------
可以写个过滤器
------解决方案--------------------
使用过滤器。
还有就是
request.setCharacterEncoding(“编码方式”)
response.setCharacterEncoding(“编码方式”)

在servlet中设置一下response.setContentType("text/html;charset=编码方式");
这样就可以避免乱码的出现
------解决方案--------------------
工程默认的字符集,浏览器设置等
------解决方案--------------------
给你个过滤器例子
刚看的
1。首先加个过滤类。让所有请求的类都变成GBK编码。

代码如下:web.xml

<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.livechance.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

 

filter 类如下:

package com.livechance.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;

public class EncodingFilter extends HttpServlet implements Filter
{
private FilterConfig config = null;
private String targetEncoding = "GBK";

public void init(FilterConfig filterConfig)
{
this.config = filterConfig;
this.targetEncoding = config.getInitParameter("encoding");
}

public void destroy()
{
config = null;
targetEncoding = null;
}

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain)
{
ServletRequest request = (ServletRequest) servletRequest;
try
{
request.setCharacterEncoding(targetEncoding);
filterChain.doFilter(servletRequest, servletResponse);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}

}

------解决方案--------------------
我觉得你如果设置了应该没问题的啊 不过也去试下过滤器吧
------解决方案--------------------
可以使用这个语句:String str=new String(x.toBytes("iso8859-1"),"gb2312");我就是这样解决 的。
------解决方案--------------------
会不会是数据库里调出来的数据显示为乱码
------解决方案--------------------
如果仅仅在某些时候或者某台机器乱码,应该是浏览器设置问题
------解决方案--------------------
1 去看看jsp编译好的.java文件里是否为乱码?

2 升级tomcat版本