本帖最后由 QQ13262407 于 2011-09-08 16:39:53 编辑

解决方案 »

  1.   

    为什么要String str = URLDecoder.decode(s, "UTF-8");  ?
    数据传送过来之前有没有URLEncode?
      

  2.   

    这段代码是服务端解析xml,客户端传过来的String test = "%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Cecity%3E%3Cmsgname%3Esearchreq%3C%2Fmsgname%3E%3Cmsgversion%3E1.0%3C%2Fmsgversion%3E%3Ctransactionid%3E1%3C%2Ftransactionid%3E%3Cuserid%3E100254%3C%2Fuserid%3E%3Cmsgsender%3Eclient%3C%2Fmsgsender%3E%3Csvccont%3E%3Csearchkey%3E%E4%BC%81%3C%2Fsearchkey%3E%3Cstartpage%3E0%3C%2Fstartpage%3E%3Citemnum%3E20%3C%2Fitemnum%3E%3C%2Fsvccont%3E%3C%2Fecity%3E";
    我这里用URLDecoder.decode(s, "UTF-8")进行了转换
    转了后<?xml version="1.0" encoding="UTF-8"?><ecity><msgname>searchreq</msgname><msgversion>1.0</msgversion><transactionid>1</transactionid><userid>100254</userid><msgsender>client</msgsender><svccont><searchkey>企业</searchkey><startpage>0</startpage><itemnum>20</itemnum></svccont></ecity>
    在解析
      

  3.   

    String s= new String(s.getByte(),"utf-8")
    试试
      

  4.   

    下面2种都试过了打印searchkey==========??
    System.out.println(new String(searchkey.getBytes(),"utf-8"));
    System.out.println(new String(searchkey.getBytes("ISO8859-1"), "UTF-8"));
    怎样解决???
      

  5.   

    转变为其它编码试一下:new String(searchkey.getBytes("ISO8859-1"),"GBK"));不得的话,GBK换成bg2312.