用java.net.URLEncoder.encode(String)编码来传递行不行

解决方案 »

  1.   

    我不太明白你说的问题.
    1.out.print(mode)可以正常显示,但mode.compareTo("中文")无法得到想要的结果?
    那你就用mode.trim().compareTo("中文")试试看,有时候数据库中提出来的数据有空格.
    2.request.getParameter("mode").compareTo("中文")可以得到0的结果?
    mode 和 request.getParameter("mode") 根本就不是一回事.这点我不明白你是什么意思.
      

  2.   

    中文问题,
    最好是很转换为gb2312再比较
    String str=getStr(request.getParameter("mode"));
    if (str.compareTo("中文")){
    }<%!
    public static String getStr(String str){
    if (str == null)    return null;
    try{
    String temp_p=str;
    byte []temp_t=temp_p.getBytes("ISO8859-1");
    String temp=new String(temp_t,"gb2312");
    return temp;
    }
    catch(Exception ex){
    System.err.println("sq.executeUpdate:"+ex.getMessage());
    return null;
    }
    }%>
      

  3.   

    xuw(海上的桥) 
    就是因为数据库中提出来的数据有空格,所以害我高度了很久.