首页 > 应用开发 > Java > 工行银企直连签名报文乱码
工行银企直连结算类签名没有提示问题,但支付时却报错,经查签名日志,发现NC Client接收的报文中文为乱码,如下:
<RecAccNameCN>閲忕讲榄?</RecAccNameCN>
<PostScript>鏈爮涓洪檮瑷?</PostScript>
<Summary>鏈爮涓烘憳瑕?</Summary>
原理由高人去讲解,我直接上解决方案,使用可转码的OutputStreamWriter,不使用PrintWriter。
代码:
URL realUrl = new URL(url);
URLConnection connect= realUrl.openConnection();
connect.setRequestProperty("connection", "Keep-Alive");
connect.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
connect.setRequestProperty("Content-Type", "INFOSEC_SIGN/1.0");
connect.setRequestProperty("Content-Length", String.valueOf(param.length()));
connect.setDoOutput(true);
connect.setDoInput(true);
//请求包转码后发送
outStream = new OutputStreamWriter(connect.getOutputStream(), "GBK");
outStream.write(param);
再次运行正确。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9859323/viewspace-2897613/ ,如需转载,请注明出处,否则将追究法律责任。