页面隔三差五 就要乱码一次 怎么解决?
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版本