From ebf4b72af820750b3207b7bee6881252b79eed31 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 23 十二月 2025 11:25:52 +0800
Subject: [PATCH] 【市一】微信公众号-增加中文乱码处理
---
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
index 90d8d52..ae8fe92 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
@@ -332,4 +332,49 @@
return "璋冪敤澶辫触";
}
+ /**
+ * 瀵筓RL鍙傛暟杩涜缂栫爜锛屽鐞嗕腑鏂囦贡鐮侀棶棰�
+ *
+ * @param params 鍙傛暟瀛楃涓诧紝鏍煎紡锛歯ame1=value1&name2=value2
+ * @param charset 缂栫爜鏍煎紡
+ * @return 缂栫爜鍚庣殑鍙傛暟瀛楃涓�
+ */
+ private static String encodeParams(String params, String charset) {
+ if (StringUtils.isBlank(params)) {
+ return params;
+ }
+
+ try {
+ StringBuilder encodedParams = new StringBuilder();
+ String[] pairs = params.split("&");
+
+ for (int i = 0; i < pairs.length; i++) {
+ String pair = pairs[i];
+ if (StringUtils.isNotBlank(pair)) {
+ int idx = pair.indexOf("=");
+ if (idx > 0) {
+ String key = pair.substring(0, idx);
+ String value = pair.substring(idx + 1);
+ // 瀵筴ey鍜寁alue閮借繘琛孶RL缂栫爜
+ encodedParams.append(URLEncoder.encode(key, charset))
+ .append("=")
+ .append(URLEncoder.encode(value, charset));
+ } else {
+ // 娌℃湁绛夊彿锛屾暣涓綔涓簁ey
+ encodedParams.append(URLEncoder.encode(pair, charset));
+ }
+
+ if (i < pairs.length - 1) {
+ encodedParams.append("&");
+ }
+ }
+ }
+
+ return encodedParams.toString();
+ } catch (UnsupportedEncodingException e) {
+ log.error("URL鍙傛暟缂栫爜澶辫触", e);
+ return params;
+ }
+ }
+
}
--
Gitblit v1.9.3