当前位置: 代码迷 >> Eclipse >> 关于MyEclipse乱码的有关问题
  详细解决方案

关于MyEclipse乱码的有关问题

热度:86   发布时间:2016-04-23 14:18:05.0
关于MyEclipse乱码的问题~
我用的是MyEclipse6。0 
  用DATEBASE窗口查询数据的时候,数据大多显示为乱码,数据库是ISO的,我在Eclipse里找相关设置,只有CHINESE的啊 怎么解决这个问题啊,
  很不方便啊 。。。

------解决方案--------------------
数据库连接的Sql 你写的是什么?
有没有加上那个字符设置那一句呢 charset 还是个什么来这。。
------解决方案--------------------
在jsp页面顶部打入<%@ page language="java" pageEncoding="GB18030"%>或<%@ page language="java" pageEncoding="GB2312"%>基本上就已经能解决问题了。
还可以另建已个JAVA过滤文件,在适当的位置进行过滤:
import java.io.IOException;
import javax.servlet.*;

public class SetCharacterEncodingFilter
implements Filter
{

public SetCharacterEncodingFilter()
{
encoding = null;
filterConfig = null;
ignore = true;
}

public void destroy()
{
encoding = null;
filterConfig = null;
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
if(ignore || request.getCharacterEncoding() == null)
{
String encoding = selectEncoding(request);
if(encoding != null)
request.setCharacterEncoding(encoding);
}
chain.doFilter(request, response);
}

public void init(FilterConfig filterConfig)
throws ServletException
{
this.filterConfig = filterConfig;
encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if(value == null)
ignore = true;
else
if(value.equalsIgnoreCase("true"))
ignore = true;
else
if(value.equalsIgnoreCase("yes"))
ignore = true;
else
ignore = false;
}

protected String selectEncoding(ServletRequest request)
{
return encoding;
}

protected String encoding;
protected FilterConfig filterConfig;
protected boolean ignore;
}
  相关解决方案