前面说了 Ajax 乱码的原因,以及解决乱码的示例,下面来个全面的分析。

XMLHTTP 返回的数据默认的字符编码是 UTF-8,如果前台页面是 GB2312 或者其它编码数据就会产生乱码。

POST 方法提交数据默认的字符编码是 UTF-8,如果后台是 GB2312 或其他编码数据就会产生乱码。

后台解决办法:

针对静态文件:

HTM、XML 文件是静态的,所以只要保存时保存为 UTF-8 编码就可以了,以 XHTML 为例:

改为

改为

并保存,原理及常见问题请参见:Ajax 乱码。

针对动态文件:

ASP 文件一般是动态的,通用的办法也是将该 ASP 文件保存为 UTF-8 编码。使用 response.charset = "utf-8" 仍会造成乱码。

前台解决办法:

针对 GET 数据:

对字符串进行编码,比如将 request.asp?a=汉字 编码为:request.asp?a=%E6%B1%89%E5%AD%97,这就需要一个函数。在 ASP 中我们在《UTF-8 Unicode Ansi 汉字GB2321几种编码转换程序》一文中作过相关介绍。而在 JavaScript 中,幸运的是这个函数已经被集成,我们可以直接在 JavaScript 使用。我们建议使用encodeURIComponent对参数值进行编码,它可以编码所有的字符,而encodeURI不对“:”、“/”、“;”和“?”进行编码。对于参数值,显然应该是对所有字符进行编码。具体可见示例。

针对 POST 数据:

增加一句:

xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

具体可见示例。

相关阅读

ajax保存乱码,Ajax 乱码详细相关推荐

  1. 详细叙述ajax的详情,ajax的配置详情、ajax的调用解释、ajax的中文乱码和ajax的表单提交(内有实例)...

    本篇文章主要的讲述了关于ajax的使用总结说明,还有ajax的配置.调用.中文乱码.表单提交等等详细解释,现在我们一起来看这篇文章吧 ·jquery的使用 0.必须优先引入jquery.js 否则无法 ...

  2. jquery的ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍 参考文章: (1)jquery的ajax()函数传值中文乱码解决方法介绍 (2)https://www.cnblogs.com/xuxiaosh ...

  3. PHP ajax 传递中文乱码,ajax+php传递中文乱码解决办法

    AJAX的乱码的出现在的原因 由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码.而当在获取页面时的XMLHttp返回的是utf-8编码, ...

  4. ajax获取数据中文乱码问题最简单的完美解决方案

    ajax获取数据中文乱码问题最简单的完美解决方案 参考文章: (1)ajax获取数据中文乱码问题最简单的完美解决方案 (2)https://www.cnblogs.com/konglxblog/p/1 ...

  5. ajax使用总结-ajax的配置-ajax的调用-ajax的中文乱码-ajax的表单提交

    ·jquery的使用    0.必须优先引入jquery.js 否则无法调用jquery框架    1.js区分大小写,起名字的时候要注意    2.jquery根据div的id属性获取页面text的 ...

  6. 解决 IntelliJ IDEA 中 .propertise 文件保存后中文乱码

    解决 IntelliJ IDEA 中 .propertise 文件保存后中文乱码 运行环境: IntelliJ IDEA 2021.3 (Ultimate Edition)   在 IntelliJ ...

  7. mysql 乱码 越南_MySQL_mysql数据库乱码之保存越南文乱码解决方法,我自己测试一下,很多字符变 - phpStudy...

    mysql数据库乱码之保存越南文乱码解决方法 我自己测试一下,很多字符变成了 '?'. 数据库连接已经是使用了 utf8 字符集: define("MYSQL_ENCODE", & ...

  8. ajax使用教程——ajax使用方法及相关知识点详细解析

    写在前面: 本文主要总结整理ajax使用方法背景知识点的详细解析,以及ajax跨域的具体使用方式并且对栗子进行了讲解,需要的朋友可以过来参考下,喜欢的可以点波赞,或者关注一下本人,希望通过本文能够作为 ...

  9. dataframe保存至csv乱码

    dataframe保存至csv乱码 当我们将dataframe保存至csv,用excel打开出现乱码的时候,不妨加上encoding = 'utf_8_sig' df_1_weekday_mornin ...

  10. 不同浏览器 ajax,完整的 AJAX 写法(支持多浏览器)

    代码如下: var xmlhttp; function Submit() { //1.创建 XMLHttpRequest 对象 if (window.XMLHttpRequest) { //IE7,I ...

最新文章

  1. Eclipse 代码风格配置
  2. MPLS *** 高级教程(张洋讲解演示版)
  3. 使下拉框某项不可选的方法
  4. php课设报告致谢_PHP学生管理系统毕业论文设计.doc
  5. datagrip导入csv数据配合ajax+mysql+Flask实验
  6. 递归(特别重要,小计算用)
  7. Java并发编程之CountDownLatch/CyclicBarrierDemo/SemaphoreDemo详解
  8. MS SQL Server 2000安装不成功的原因
  9. 浅谈的数据库设计原则-之账户体系的分析
  10. 合肥工业大学数值分析(计算方法)满分实验代码(python实现)
  11. 旧iPhone 通讯录数据如何完整迁移到新iPhone13?
  12. matlab中功率因数模块,最经典的功率因数控制器设计方案
  13. Typo in static class property declarationeslint
  14. 深圳计算机专业中专学校,深圳中专学校
  15. sql语法基础,sql分组查询
  16. 什么是分库分表?为什么需要分表?什么时候分库分表
  17. 超好用的前嗅ForeSpider爬虫软件教程
  18. 为windows 驱动程序签名
  19. 3d boxes background
  20. 博途中用的是c吗_S7-1500系列博途中使用SCL语言编程方法简介

热门文章

  1. python中fd是什么意思_python里fd是什么意思
  2. c程序设计语言 hello,Hello, World!
  3. python基础(19)之 输入输出
  4. UFLDL之Softmax回归
  5. python 根据时间间隔删除文件夹内修改时间比较早的文件
  6. scrapy框架的日志等级和请求传参
  7. docker占满linux磁盘根目录的解决办法
  8. (转)Java atomic原子类的使用方法和原理(一)
  9. Python 基本数据类型 (二) - 字符串
  10. 515Nod 1126 求递推序列的第n项【矩阵快速幂】