if(StringUtils.isNotEmpty(refundOrder.getReason())){
byte[] bs = refundOrder.getReason().getBytes();
try{
requestInfoBean.setRefundDesc(new String(bs, "UTF-8"));
}catch (UnsupportedEncodingException e){
e.printStackTrace();
}
}
已经UTF-8处理过了还是不行,我的IDEA全局编码设置也是UTF-8,请问有其他解决方式吗?
如果确认是中文引起的。建议仔细核对编码即可。但不一定是编码引起的,因为签名错误,也可能是你的参数有不符合文档的地方。先用验证工具验证一下签名参数。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xml>
<appid>*******</appid>
<mch_id>*******</mch_id>
<nonce_str>AkaRqtCY3e4aCgFY</nonce_str>
<sign>28DE1F4BE5F83FD0483D825AB21BB188</sign>
<sign_type>MD5</sign_type>
<transaction_id>4200000521202002273978729580</transaction_id>
<out_refund_no>1000001382357603</out_refund_no>
<total_fee>1</total_fee>
<refund_fee>1</refund_fee>
<refund_fee_type>CNY</refund_fee_type>
<refund_desc>商品故障</refund_desc>
</xml>
这是生成的参数