win上面的weblogic发送报文---unix上接收中文乱码
代码如下:     response.setContentType("text/xml;charset=UTF-8");    //ServletOutputStream  sops = response.getOutputStream();//这样也是
    PrintWriter sops= response.getWriter(); 
    //中文转换utf-8
try {
responseData =URLDecoder.decode(responseData, "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
byte[] outdata = responseData.getBytes("UTF-8");
responseData=new String(outdata,"utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
    sops.print(responseData);responseData是string类型 在本地是 <RespCode>01</RespCode>
<RespDesc>用户不存在</RespDesc>
而在unix接收就为
<RespCode>01</RespCode>
<RespDesc>??¢??·?§ˉ??????????¤?</RespDesc>
高手们看下该如果搞

解决方案 »

  1.   

    在unix下用Firefox以UTF-8打开xml看看。
    vi的话需要设定编码。
      

  2.   

    unix上是用utf-8接收的 那边不是我做,是统一的接口,其他一部分人做的那边接收不乱码,而我的乱码
      

  3.   

    尝试在发送之前先按uft-8编码吧
      

  4.   

    编码用URLEncoder.encode(xxxx,"UTF-8")吧,decode似乎是解码.
      

  5.   

    +++%3CAnswerCode%3E00010002%3C%2FAnswerCode%3E%0A++++%3CDesc%3E%E7%94%A8%E6%88%B7%E4%B8%8D%E5%AD%98%E5%9C%A8%28%E9%9D%9E%E8%81%94%E9%80%9A%E6%9C%89%E6%95%88%E7%94%A8%E6%88%B7%29%3C%2FDesc%本地测试是这样的东西  把它经过urldecode转换为utf-8可以正常,但这个应该不行