首頁 web前端 js教程 AJAX之POST資料中文亂碼如何解決

AJAX之POST資料中文亂碼如何解決

Mar 05, 2018 pm 04:56 PM
ajax post 亂碼

本文主要和大家分享AJAX之POST資料中文亂碼如何解決,前端使用encodeURI進行編碼,希望能幫助大家。

var param = encodeURI(param);
$.ajax({
        url: 'url',
        methodtype: "POST",
        async: false,
        timeout: 60000,
        contentType: "application/json",
        data: {'param':param},
        success: function(data) {

        },
        error: function(data) {

        }
    });
登入後複製

後台java.net.URLDecoder進行解碼
編解碼工具

import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;import org.apache.commons.codec.DecoderException;import org.apache.commons.codec.binary.Base64;import org.apache.commons.codec.binary.Hex;import org.apache.commons.lang3.StringEscapeUtils;/**
 * 封装各种格式的编码解码工具类.
 * 1.Commons-Codec的 hex/base64 编码
 * 2.自制的base62 编码
 * 3.Commons-Lang的xml/html escape
 * 4.JDK提供的URLEncoder
 * 
 */public class Encodes {

    private static final String DEFAULT_URL_ENCODING = "UTF-8";    private static final char[] BASE62 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray();    /**
     * Hex编码.
     */
    public static String encodeHex(byte[] input) {        return new String(Hex.encodeHex(input));
    }    /**
     * Hex解码.
     */
    public static byte[] decodeHex(String input) {        try {            return Hex.decodeHex(input.toCharArray());
        } catch (DecoderException e) {            throw Exceptions.unchecked(e);
        }
    }    /**
     * Base64编码.
     */
    public static String encodeBase64(byte[] input) {        return new String(Base64.encodeBase64(input));
    }    /**
     * Base64编码.
     */
    public static String encodeBase64(String input) {        try {            return new String(Base64.encodeBase64(input.getBytes(DEFAULT_URL_ENCODING)));
        } catch (UnsupportedEncodingException e) {            return "";
        }
    }//  /**//   * Base64编码, URL安全(将Base64中的URL非法字符'+'和'/'转为'-'和'_', 见RFC3548).//   *///  public static String encodeUrlSafeBase64(byte[] input) {//      return Base64.encodeBase64URLSafe(input);//  }

    /**
     * Base64解码.
     */
    public static byte[] decodeBase64(String input) {        return Base64.decodeBase64(input.getBytes());
    }    /**
     * Base64解码.
     */
    public static String decodeBase64String(String input) {        try {            return new String(Base64.decodeBase64(input.getBytes()), DEFAULT_URL_ENCODING);
        } catch (UnsupportedEncodingException e) {            return "";
        }
    }    /**
     * Base62编码。
     */
    public static String encodeBase62(byte[] input) {        char[] chars = new char[input.length];        for (int i = 0; i < input.length; i++) {
            chars[i] = BASE62[((input[i] & 0xFF) % BASE62.length)];
        }        return new String(chars);
    }    /**
     * Html 转码.  例如将 < 转成 &lt
     */
    public static String escapeHtml(String html) {        return StringEscapeUtils.escapeHtml4(html);
    }    /**
     * Html 解码.
     */
    public static String unescapeHtml(String htmlEscaped) {        return StringEscapeUtils.unescapeHtml4(htmlEscaped);
    }    /**
     * Xml 转码.
     */
    public static String escapeXml(String xml) {        return StringEscapeUtils.escapeXml10(xml);
    }    /**
     * Xml 解码.
     */
    public static String unescapeXml(String xmlEscaped) {        return StringEscapeUtils.unescapeXml(xmlEscaped);
    }    /**
     * URL 编码, Encode默认为UTF-8. 
     */
    public static String urlEncode(String part) {        try {            return URLEncoder.encode(part, DEFAULT_URL_ENCODING);
        } catch (UnsupportedEncodingException e) {            throw Exceptions.unchecked(e);
        }
    }    /**
     * URL 解码, Encode默认为UTF-8. 
     */
    public static String urlDecode(String part) {        try {            return URLDecoder.decode(part, DEFAULT_URL_ENCODING);
        } catch (UnsupportedEncodingException e) {            throw Exceptions.unchecked(e);
        }
    }
}
登入後複製

相關推薦:

使用php curl_setopt()函數實作抓取網頁與POST資料的簡單範例

PHP之將POST資料轉換為字串的實作程式碼

##php取得POST資料的三種方法實例詳解

以上是AJAX之POST資料中文亂碼如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Linux中文亂碼怎麼解決 Linux中文亂碼怎麼解決 Feb 21, 2024 am 10:48 AM

Linux中文亂碼問題是使用中文字元集和編碼時常見的一個問題。出現亂碼的原因可能是檔案編碼設定不正確,系統語言環境未安裝或未設置,以及終端顯示設定錯誤等。本文將介紹幾種常見的解決方法,並提供具體的程式碼範例。一、檢查檔案編碼設定使用file指令查看檔案編碼在終端機中使用file指令,可以檢視檔案的編碼:file-ifilename如果輸出中有"charset

解決jQuery AJAX請求遇到403錯誤的方法 解決jQuery AJAX請求遇到403錯誤的方法 Feb 20, 2024 am 10:07 AM

標題:解決jQueryAJAX請求出現403錯誤的方法及程式碼範例403錯誤是指伺服器禁止存取資源的請求,通常會導致出現這個錯誤的原因是請求缺少權限或被伺服器拒絕。在進行jQueryAJAX請求時,有時會遇到這種情況,本文將介紹如何解決這個問題,並提供程式碼範例。解決方法:檢查權限:首先要確保請求的URL位址是正確的,同時驗證是否有足夠的權限來存取該資

Oracle導入中文資料時出現亂碼怎麼解決? Oracle導入中文資料時出現亂碼怎麼解決? Mar 10, 2024 am 09:54 AM

標題:解決Oracle導入中文資料亂碼問題的方法及代碼範例在Oracle資料庫中導入中文資料時,經常會出現亂碼的情況,這可能是由於資料庫字元集設定不正確或導入過程中出現編碼轉換問題所致。為了解決這個問題,我們可以採取一些方法來確保導入的中文資料能夠正確顯示。以下是一些解決方案及具體的程式碼範例:一、檢查資料庫字元集設定在Oracle資料庫中,字元集的設定對於

PHP 與 Ajax:建立一個自動完成建議引擎 PHP 與 Ajax:建立一個自動完成建議引擎 Jun 02, 2024 pm 08:39 PM

使用PHP和Ajax建置自動完成建議引擎:伺服器端腳本:處理Ajax請求並傳回建議(autocomplete.php)。客戶端腳本:發送Ajax請求並顯示建議(autocomplete.js)。實戰案例:在HTML頁面中包含腳本並指定search-input元素識別碼。

PHP中文檔案名稱亂碼問題處理技巧 PHP中文檔案名稱亂碼問題處理技巧 Feb 27, 2024 pm 02:18 PM

PHP中文檔案名稱亂碼問題處理技巧在開發過程中,常常會遇到處理中文檔案名稱亂碼的問題,尤其是在處理使用者上傳的檔案時。在PHP中,如何正確處理檔案名稱亂碼是比較常見且重要的問題。本文將介紹一些處理中文檔案名稱亂碼問題的技巧,並提供具體的程式碼範例,幫助讀者更好地應對這個挑戰。問題描述當使用者上傳檔案時,有時會出現中文檔案名稱亂碼的狀況。這是因為不同的作業系統和瀏覽器對

解決jQuery AJAX請求403錯誤的方法 解決jQuery AJAX請求403錯誤的方法 Feb 19, 2024 pm 05:55 PM

jQuery是一個受歡迎的JavaScript函式庫,用來簡化客戶端端的開發。而AJAX則是在不重新載入整個網頁的情況下,透過發送非同步請求和與伺服器互動的技術。然而在使用jQuery進行AJAX請求時,有時會遇到403錯誤。 403錯誤通常是伺服器禁止存取的錯誤,可能是由於安全性原則或權限問題導致的。在本文中,我們將討論如何解決jQueryAJAX請求遭遇403錯誤

解決win11部分軟體亂碼問題的方法以及詳細解析 解決win11部分軟體亂碼問題的方法以及詳細解析 Jan 30, 2024 pm 03:54 PM

很多的使用者在升級完win11系統後發現遇到了個人軟體出現了亂碼的狀況,那麼這件事情要怎麼解決?以下就讓小編來為用戶們來仔細的介紹一下win11部分軟體亂碼問題解析吧。 win11部分軟體亂碼問題解析1、點選左下角工作列中的搜尋框,輸入控制面板開啟。 3.再點選其中的區域。 5.然後將視窗中的beta版小方框取消勾選,最後將電腦重新啟動即可解決問題。

Linux終端機亂碼問題的處理方法 Linux終端機亂碼問題的處理方法 Mar 20, 2024 pm 03:12 PM

Linux終端機亂碼問題的處理方法在使用Linux系統時,有時在終端機中顯示的文字會出現亂碼,這給我們使用終端機帶來了不便,需要及時處理。本文將為大家介紹一些常見的Linux終端機亂碼問題的處理方法,同時提供具體的程式碼範例。問題一:終端中文亂碼終端中文亂碼通常是因為終端的字元編碼設定不正確所導致的。我們可以透過修改終端機的字元編碼設定來解決這個問題。 #查看目前終端的

See all articles