discuz-ucenter-api-for-java 中文亂碼問題
環境編碼:
UC_SERVER服務器端(PHP):UTF-8
客戶端JAVA:UTF-8
來自:風
1.discuz-ucenter-api-for-java DECODE 解密 中文亂碼問題
問題描述:解密亂碼或解密後為空問題,其實都是編碼問題
解決方法:
ucenter/client/Client.java中 uc_authcode 代碼
String $result = $result1.substring(0, $result1.length()); 在269行就上麵的那一行處改為以下 //String $result = $result1.substring(0, $result1.length()); String $result= $result1.toString(); try{ $result=new String($result.getBytes("iso-8859-1"),"UTF-8"); }catch (Exception e) { $result = $result1.substring(0, $result1.length()); // TODO: handle exception }解密即可正常
2.discuz-ucenter-api-for-java ENCODE 加密 問題
問題描述:得到的加密數據後在PHP中無法解密問題,和上麵的一樣都是編碼問題
原因:英文字符和中文字符同時存在時會出現此問題,單獨中文加解密沒有此問題
解決方法:
在加密時對中文字符進行編碼,以下案例,用戶名為中文
String u=""; try { u="uid=1&time=6541314313&email=adsfasdf@adsf.com&username="+java.net.URLEncoder.encode("測試","UTF-8"); } catch (Exception e) { } System.out.println(u); String s= uc.uc_authcode(u, "ENCODE", $key); System.out.println(s);
最後更新:2017-04-04 07:03:27