閱讀506 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  上一篇:go 【最近麵試遇到的一些問題】java中list、set和map 的區別
  下一篇:go Mysql replication 配置