本帖最后由 jonathan7777 于 2011-06-06 19:03:02 编辑

解决方案 »

  1.   

    乱码问题是csdn上永恒不变的话题啊。首先要统一编码,项目的,页面的,数据库 的,最好都弄成utf8.然后就是不要用超链接传中文
      

  2.   

    把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    去了!
      

  3.   

    写个过滤器吧
    或者
    一般情况下 request默认编码为iso-8859-1
    当遇到中文的时候肯定报错
    所以在设置一下编码://设置编码
    request.setCharacterEncoding("GBK");
    response.setCharacterEncoding("GBK");
    response.setContentType("text/html");楼主可以试试这两种方法!!!
      

  4.   

    <%@ page language="java" contentType="text/html; charset=gb2312"
      pageEncoding="gb2312"%> 这的charset=UTF-8
      

  5.   

    总是有人问关于乱码的问题 其实你们只要明白原理 那里来的那么多乱麻问题,我觉得字符集不同意的地方不多吧?不外乎 前台html,后台 还有一个就是console控制台的默认语言(当然这个很容易被人忽略),有时候你在设置字符值的时候不是很到位可能是先转换成默认的语言在转换成你设置的 其实就这么几个问题
      

  6.   

    忘记了 还有数据库 当然那个是必须要考虑的 还有就是get和post的时候 
      

  7.   

    统一编码utf-8,之后就是用get提交表单数据,若传递到其他页面时乱码的话,用iso-8859-1进行转一下编码方式!
      

  8.   

    给tomcat里的servelt.xml文件的Connector  节点下设置你的编码格式 URIEncoding="GBK" 试试
      

  9.   

    在action中或service中使用一下强转
     UserInfo user = new UserInfo();
            try {
                user.setUserId(userId);
                user.setUserUseName(new String(userUseName.getBytes("ISO-8859-1"), "utf-8"));
                user.setUserName(new String(userName.getBytes("ISO-8859-1"), "utf-8"));
                user.setUserPassword(new String(userPassword.getBytes("ISO-8859-1"), "utf-8"));
                user.setUserDept(userDept);
                user.setUserTel(new String(userTel.getBytes("ISO-8859-1"), "utf-8"));
                user.setUserCardId(new String(userCardId.getBytes("ISO-8859-1"), "utf-8"));
                user.setUserRoleId(userRoleId);            userInfoService.userInfoInsert(user);
            }
      

  10.   

    <%@ page language="java" contentType="text/html; charset=gb2312"
      pageEncoding="gb2312"%>
    <%@ page import="java.sql.*" %><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    这两个地方都统一编码~~
      

  11.   

    写一个fiter,本例解决ajax中文乱码,url等中文乱码public class CodeFilter
    implements Filter
    { private static final String DEFAULT_ENCODING = "GBK";
    private static final String ajaxEncoding = "UTF-8";
    protected String commonEncoding;
    protected FilterConfig filterConfig;
    protected boolean ignore; public CodeFilter()
    {
    ignore = true;
    } public void init(FilterConfig filterConfig)
    throws ServletException
    {
    this.filterConfig = filterConfig;
    commonEncoding = filterConfig.getInitParameter("encoding");
    if (commonEncoding == null)
    commonEncoding = "GBK";
    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;
    } public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain)
    {
    try
    {
    HttpServletRequest request = (HttpServletRequest)req;
    HttpServletResponse response = (HttpServletResponse)res;
    if (ignore || request.getCharacterEncoding() == null)
    if (request.getHeader("RequestType") != null && request.getHeader("RequestType").equalsIgnoreCase("ajax"))
    {
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    } else
    if (request.getHeader("X-Requested-With") != null && request.getHeader("X-Requested-With").equalsIgnoreCase("XMLHttpRequest"))
    {
    if (request.getHeader("content-type") != null && request.getHeader("content-type") != "")
    request.setCharacterEncoding("UTF-8");
    response.setContentType((new StringBuilder("text/html;charset=")).append(commonEncoding).toString());
    } else
    {
    request.setCharacterEncoding(commonEncoding);
    response.setCharacterEncoding(commonEncoding);
    response.setContentType((new StringBuilder("text/html;charset=")).append(commonEncoding).toString());
    }
    filterChain.doFilter(req, res);
    }
    catch (IOException e)
    {
    e.printStackTrace();
    }
    catch (ServletException e)
    {
    e.printStackTrace();
    }
    } public void destroy()
    {
    commonEncoding = null;
    filterConfig = null;
    }
    }
      

  12.   

    String pub=new String(request.getParameter("publish").getBytes("ISO-8859-1"), "gb2312");把前后两个参数换换试试 写成
    String pub=new String(request.getParameter("publish").getBytes("gb2312"), "iso-8859-1");