支付宝代扣平台获取PHP字符乱码的问题

林涛 2971℃ 0评论

最近在做支付宝App上的代扣功能,支付宝的平台是JAVA的,给的一个Demo包也是Java并且是GBK编码的。

前提已经说完了,然后说过程:

因为App和App使用的Web页面是用的UTF-8编码的,所以Web在Post数据的时候出现了一个问题:在JAVA上获取的中文字符全部是乱码,并且不管在PHP怎么设置编码,JAVA上获取的都是乱码!数字、字母都不会是乱码!

于是,哥凌乱了……
凌乱了……凌乱了……

无奈,请教大牛~ ,不愧为大牛,支一招:做base64编码

于是在JAVA上作编码:

public class Test {

/**
* 编码
* @param bstr
* @return String
*/
public String encode(byte[] bstr){
return new sun.misc.BASE64Encoder().encode(bstr);
}

/**
* 解码
* @param str
* @return string
*/
public byte[] decode(String str){
byte[] bt = null;
try {
sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
bt = decoder.decodeBuffer( str );
} catch (IOException e) {
e.printStackTrace();
}

return bt;
}

在PHP上也做编码:base64_encode(XXX),

于是,于是,接过就正常了……

看来,当用一种方法(做转码)行不通的时候,完全可以换一种方法(做编码)。
条条大路通罗马

如果有不明白的联系我,我会和你一起分享:QQ 57882712

如需转载请注明: 转载自26点的博客

本文链接地址: 支付宝代扣平台获取PHP字符乱码的问题

转载请注明:26点的博客 » 支付宝代扣平台获取PHP字符乱码的问题

喜欢 (0)
发表我的评论
取消评论

表情