各位老大,在下刚才没说清楚,问题不是在接受方面,如果直接在?后面输入中文,本页可以接受正确显示,问题出现在发送?链接的页面,response.sendRedirect("sms_user2.jsp?sms_back1="+string);
string 为中文,但是接受页面上的?后面显示为乱码,所以接受也成为乱码,实在是郁闷啊

解决方案 »

  1.   

    是啊,地址栏里的string后面是乱码
      

  2.   

    这个用不着管
    把contentType,pageEncoding等贴出来看看。
      

  3.   

    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> 头头是这个
      

  4.   

    在页面中通常只会在这些地方设置字符集:
    <%@ page language="java" pageEncoding="GB2312"%>
    在<head>中:
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    最后在代码中:
    <%request.setCharacterEncoding("gb2312");%>
    就应该没有问题了吧
      

  5.   

    再说一句,有些很偏的字在GB2312字符集中没有,所以肯定是乱码,GBK和UTF-8比较全
      

  6.   

    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      

  7.   

    页头设置:
    <%@ page contentType="text/html;charset=GB2312"%> 
    <%response.setContentType("text/html;charset=UTF-8");%> 
    <%request.setCharacterEncoding("UTF-8");%>
    保存编码:
    ANSI
    接收参数:
    String tempstr = new String(request.getParameter("**").getBytes("ISO8859_1"),"UTF-8");
      

  8.   

    我也测了一下,没有问题。
    post提交和get提交这两者处理方法是不同的。楼主要在地址栏里看到中文?
      

  9.   

    你可以将?后的String 转化为ISO-8859-1试试