首页 web前端 js教程 AJAX之POST数据中文乱码如何解决

AJAX之POST数据中文乱码如何解决

Mar 05, 2018 pm 04:56 PM
ajax post 乱码

本文主要和大家分享AJAX之POST数据中文乱码如何解决,前端使用encodeURI进行编码,希望能帮助到大家。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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进行解码
编解码工具

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

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

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++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中文乱码怎么解决

解决win11部分软件乱码问题的方法以及详细解析 解决win11部分软件乱码问题的方法以及详细解析 Jan 30, 2024 pm 03:54 PM

解决win11部分软件乱码问题的方法以及详细解析

解决jQuery AJAX请求遇到403错误的方法 解决jQuery AJAX请求遇到403错误的方法 Feb 20, 2024 am 10:07 AM

解决jQuery AJAX请求遇到403错误的方法

解决jQuery AJAX请求403错误的方法 解决jQuery AJAX请求403错误的方法 Feb 19, 2024 pm 05:55 PM

解决jQuery AJAX请求403错误的方法

Oracle导入中文数据时出现乱码怎么解决? Oracle导入中文数据时出现乱码怎么解决? Mar 10, 2024 am 09:54 AM

Oracle导入中文数据时出现乱码怎么解决?

PHP中文文件名乱码问题处理技巧 PHP中文文件名乱码问题处理技巧 Feb 27, 2024 pm 02:18 PM

PHP中文文件名乱码问题处理技巧

Win11开机显示乱码怎么解决? Win11开机乱码的两种解决办法 Win11开机显示乱码怎么解决? Win11开机乱码的两种解决办法 Feb 29, 2024 pm 12:16 PM

Win11开机显示乱码怎么解决? Win11开机乱码的两种解决办法

如何使用Ajax从PHP方法中获取变量? 如何使用Ajax从PHP方法中获取变量? Mar 09, 2024 pm 05:36 PM

如何使用Ajax从PHP方法中获取变量?

See all articles