首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 獲取 URL 中文參數亂碼解決:編碼設置與解碼方法總結

     編輯:程式設計綜合問答

現象

URL: test.jsp?lastname=楊濤,JS 獲取參數顯示亂碼 (如 %D0%E1%CC%E5 或 )。

三種解決方案

方案一:頁面/過濾器統一設置編碼 (推薦)

<%@ page pageEncoding="UTF-8" %>
<% request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); %>

或在 Filter 中統一:

public void doFilter(...) {
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    chain.doFilter(request, response);
}

方案二:服務端接收時手動轉碼

String name = new String(request.getParameter("lastname").getBytes("ISO-8859-1"), "UTF-8");

方案三:JS 端解碼 (配合 encodeURI)

// 後端輸出時 encodeURI
var url = "test.jsp?lastname=" + encodeURI("楊濤");
// 前端獲取自動解碼 (現代瀏覽器)
var name = getQueryString("lastname"); // 內部用 decodeURIComponent

核心建議

  • **全鏈路 UTF-8**:頁面、JS 文件、服務端、數據庫全部統一 UTF-8,從源頭避免亂碼。
  • 避免在 JS 手動拼接中文參數,使用 encodeURIComponent 編碼後再拼接。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved