本帖最后由 dschencds 于 2010-03-24 10:33:57 编辑

解决方案 »

  1.   

    在页面上直接设置编码格式 <%@ page language="java" pageEncoding="UTF-8"%> 比如这样,也许可以
      

  2.   

    标头加上pageEncoding="UTF-8"页面就会报错 加上<%@ page contentType="text/html; charset=gb2312" %>也没效果
      

  3.   

    req.setCharacterEncoding("UTF-8");
      

  4.   

    <%
        response.setHeader("Pragma", "No-Cache");   
        response.setHeader("Cache-Control", "No-Cache");   
        response.setDateHeader("Expires", 0);   
    %>
    <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    这样试试, 上面的可以不要
      

  5.   

    http://localhost:8080/pojo/MyJsp.jsp?user_name=%D4%F6%D6%B5%D2%B5%CE%F1%B2%BF
    我地址栏获取的值是这样的,就是需要把地址栏的值取到,任何方法都行,传过来的参数编码是UTF-8
      

  6.   

    哦,把那个发送和返回都设置一下吧,res.setCharacterEncoding("GB2312");
    req.setCharacterEncoding("GB2312");
    我当时是这样解决的,是在Java文件中写的啊!
      

  7.   

    req.setCharacterEncoding("UTF-8");放在java 文件第一句
    jsp文件第一句<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    全部用UTF-8还有看下你的文件是什么格式的
    另存为改成UTF-8
      

  8.   

    把你的requst和 response编码统一下,再不行你试下 contactName=new String(contactName.getBytes("iso-8859-1"),"gbk"); 这种转下看看
      

  9.   

    可能你的Myeclipse安装后编码默认是GB18030,外面的人一般推荐用UTF-8。如果在导入项目后发现乱码现象,那是编码设置设置不对。 
    全局编码设置:编码设置的方法:ToolBar-->Window-->Preferences-->General-->Workspace-->Text file encoding,设置合适的编码。 
      

  10.   

    res.sendRedirect("MyJsp.jsp?user_name="+URLEncoder.encode(username, "GBK"));
    你这转译了,取值的时候再用URLDecoder.decode()转译回来。
      

  11.   

    写一个过滤类然后web.xml配置下 方法如下:
    过滤类:
    package com.crm.common;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;public class UtfFiler implements Filter { public void destroy() {
    // TODO Auto-generated method stub

    } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding("gbk");
    chain.doFilter(request, response);


    } public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub

    }
    }web.xml如下:
    <filter>
    <filter-name>utfFilter</filter-name>
    <filter-class>
    com.crm.common.UtfFiler
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>utfFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
      

  12.   

    Java与Jsp中的编码统一下试试。
      

  13.   

    将所有JSP页面里的三个字符集都统一成"gb2312"<% 
    String s = request.getParameter("user_name"); 
    String ss = new String(s.getBytes(),"gb2312"); 
    %> 改写成:<% 
    String s = request.getParameter("user_name"); 
    String ss = new String(s.getBytes("ISO8859-1"),"gb2312"); 
    %> 
      

  14.   

    值反编译过来是没错,可是如果用request根据参数取值的话,取出来是乱码,请问该如何解决
      

  15.   

    说明你工程的编码格式就没有设置成UTF-8,而是默认的GBK。
    你检查一下吧