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