1, 背景java
有兩個項目, 進行傳遞信息的時候 使用到了 java自帶的 服務器
URLConnection conn = realUrl.openConnection(); 工具
這個工具來進行 傳輸的, 只是內容進行的加密。加密
剛開始兩個項目是 部署在同一臺電腦下面的,傳輸的時候並無問題。code
後來 兩個項目 部署在 兩個不一樣的地區。 這樣遠程傳輸的時候, 竟然出現了 中文亂碼。字符串
認真排查了 代碼URLConnection conn 相關的,以及 服務器 配置等,都是 設置了 UTF-8字符集了。部署
但是亂碼了。get
後來仔細進行排查的時候,發現是 由於 對內容進行加密的時候 ,沒有 加入字符集進行 控制,致使了 亂碼。io
// 轉換密鑰 Key k = AESCoder.toKey(AESCoder.KEY); // 加密後數據 若是內容獲取 字節不設置字符串,會中文亂碼 byte[] encryptTokenData = encrypt(value.trim().getBytes(ENCODING_UTF8), k); String encryptTokenDataStr = Hex.encodeHexStr(encryptTokenData); return encryptTokenDataStr;