我在客户端用xmlhttp post中文数据到jsp中,得到的是utf-8编码的字符,所以需要转码成gbk,但是转换后发现偶数个中文字符一切正常,但是奇数个中文字符最后一个中文变成"??"。端个饭碗等待高手出现解救!

解决方案 »

  1.   

    这是我写的jsp代码:ServletInputStream in;
    String str
    byte[] b;
    int chr;
    int i;b = new byte[1000];
    i = 0;
    in = request.getInputStream();
    chr = in.read();
    while (chr != -1)
    {
      b[i++] = (byte)chr;
      chr = in.read();
    }
    in.close();
    str = new String((new String(b, 0, i)).getBytes("GBK"), "UTF-8");
      

  2.   

    你可以这样做,要发送之前进行压码,然后接到之后进行解码JS是:escape()函数Java是:
    java.net.URLEncoder.encode()
    java.net.URLDecoder.decode()查查相关的使用文档就是说前面编码统一,然后再进行转换成中文或鸟文均比较好办
      

  3.   

    谢谢,我按YuLimin的方法改成编码后再上传了。