jquery ajax 中文乱码

jQuery AJAX乱码问题的解决方法 需要注意的是,具体的解决方法可能会因后端服务器的配置和需求而有所不同。如果你使用的是其他的后端框架或技术,可能需要针对相应的框架或技术进行特定的乱码处理。另外,如果后端服务器返回的响应数据也存在乱码问题,我们可以在响应中指定正确的字符编码,并在前端进行处理。然后,我们可以对解码后的数据进行进一步的处理和展示。总结起来,解决jQuery AJAX乱码问题的关键在于正确设置请求和响应的字符编码。选项和处理后端响应数据的字符编码,我们可以有效地解决乱码问题,确保数据的准确传输和展示。在上述示例中,我们使用了。 阅读详情

总结,如果使用jquery 的$.get()方法获取整个html页面出现乱码。那么就将你的两个页面都加上   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 就ok了。

==============

http://phpxiaoxin.javaeye.com/blog/350544

 

jquery ajax 中文乱码

结论:

jquery 1.3.2 ajax对编码问题进行过部分(见后面补充1 )处理,解决方案以jsp为例子: 
ajax提交数据给jsp:ajax所在页面无任何要求,jsp页面需作两方面处理。 
1.<%@page contentType="application/json" pageEncoding="UTF-8"%>或<%@page contentType="application/json" pageEncoding="gb2312"%> 
2.处理request.setCharacterEncoding("UTF-8")

详细说明:

之所以会乱码,原因很简单,两个人对话的时候,a说中文,b用英文接受,于是乎乱码矣! 所以当出现乱码搞清楚谁是a谁是b很重要,然后a说话的时候让b知道应该用什么语言接收,或者b以固定的方式接收,a用b接收的语言去说,这样就万事ok了。 所以下面分成两部分去分析。一个是ajax单纯获取网页信息的情况,一个是ajax单纯往jsp等提交数据的情况,细的来说,这里种情况有分两种情况即post和get

ajax单纯抓取网页

a:请求的页面,b:jquery ajax 
这里为什么a是请求的页面,而b是jquery ajax呢?虽然是ajax向页面要东西, 但是也可以理解为a(页面)要告诉ajax的内容是什么,于是乎a说,我告诉你b(jquery ajax),我的内容是......并且内容的语言是gb2312的,你来接受吧。 于是b就根据他的编码格式接收了a的内容,于是就没乱码了。看一下下面的表格

 

 

当前页面编码js请求页面编码中文乱码解决方安/说明
gb2312jquery ajax 获取数据gb2312是jsp:<%@page contentType="application/json" pageEncoding="gb2312"%>这里用的json作测试,与text/html应该一样 
aps:Response.Charset="gb2312"(参照网络未测试)
php:header("Content-Type:text/html; charset=gb2312");(参照网络未测试) 
html:未解决
gb2312jquery ajax 获取数据utf-8否 
utf-8jquery ajax 获取数据utf-8否 
utf-8jquery ajax 获取数据gb2312是jsp:<%@page contentType="application/json" pageEncoding="gb2312"%>这里用的json作测试,与text/html应该一样 
aps:Response.Charset="gb2312"(参照网络未测试)
php:header("Content-Type:text/html; charset=gb2312");(参照网络未测试) 
html:未解决

 

首先说明,上面说的页面编码,是指文件字符编码,而不是html里面<meta>标签内的charset=gb2312。根据以上数据显示:ajax抓去网页的时候,乱码问题与当前页面(ajax所在页面)无关。 
对于普通的html文件,乱码不在于当前ajax所页面而在于被抓去的页面,如果被抓取的页面为gb2312就必须在文件头声明:pageEncoding="gb2312",

ajax单纯提交数据到jsp页面(post)

a:ajax, b:jsp

提 交数据的时候,jquery使用ajax方法,type: "post",data:{test:"hello你好"},jsp页 面:pageEncoding="gb2312"/pageEncoding="UTF-8"都可以,根据具体返回的需要了。这里建议大家debug的时 候看变量是否乱码,因为如果看jsp页面,实际上又增加了一个编码过程

ajax单纯提交数据到jsp页面(get)

这 里需要注意,type: "get",的时候,由于涉及到url的编码问题(详细见下面的参考文章:深入浅出URL编码), 所以需要在jsp接收数据的时候加下面这句:request.setCharacterEncoding("UTF-8"); 注意这里一定要是UTF-8,而pageEncoding参数无论是UTF-8还是gb2312都可以。(因为这个pageEncoding主要对请求后 返回的内容编码起作用) 而对于java web开发,request.setCharacterEncoding("UTF-8")(注:根据“深入浅出URL编码”这个设置应该针对post设 置而不是get,但在我测试的时候这样设置的确在post的时候不需要而get的时候就可解决乱码问题。)可以使用filter,或者struts2进行 全局解决, 根据网上的说法,好像还可以设置tomcate的配置解决这个问题。

 

当然有一些解决方法是局部进行转码和解码,如js部分通过:escape或encodeURI方式将中文编码,然后到了jsp/php/asp再通过一定方法实现对该数据的解码,这种局部的方案,只能作临时解决方案。

 

我以上所说可能有很多漏洞,甚至错误,但是我的确都在suse linux/firefox 3 默认utf8编码 jdk 1.6.10 glassfish v2 环境下实验过。 之所以写出来,是给大家一个参考,或者说一个提示,如果大家这样作,还是有乱码,请变通尝试其他方法,参考下面给出的参考文章列表。另外编码问题还涉及到不同的浏览器不同的设置。如果搞明确了一些编码设置,请过来批评,我好改正,谢谢:)

 

更正补充:

 

1.jquery ajax 对data参数有如下判断处理:

if (s.data && s.processData && typeof s.data != "string")

s.data = jQuery.param(s.data);

就是说他检查data参数是否是string,并且processData是否为true,此参数默认为true

 

jQuery.param(s.data)内部会作的处理就是:将数据进行encodeURIComponent(key/value)编码后组装。

 

所以当 data = {"name":"你好"},processData = true

服务器将接收到:name=%E4%BD%A0%E5%A5%BD

 

令我不解的是,当我用jersey做的rest web service通过post接收的时候接收到name=%E4%BD%A0%E5%A5%BD,就是说post什么接收到了什么,这个很正常。

而jsp设置了request.setCharacterEncoding("UTF-8");pageEncoding="UTF-8",就自动转换成了name=您好

不知道这个转换过程是谁做的?请明白的人帮忙解释一下

 

解决jQuery的Ajax返回中文乱码问题 通过以上步骤,你可以解决jQuery的Ajax返回中文乱码问题。确保在服务器端设置正确的响应头部编码,客户端设置请求编码,服务器端返回数据编码,以及指定适当的数据类型。这样就能够正确地处理中文字符,避免乱码的情况发生。在使用jQuery的Ajax进行数据请求和响应的过程中,有时候会遇到返回的中文字符乱码的情况。这个问题通常是由于编码不一致导致的。下面我将为你详细介绍如何解决这个问题,并提供相应的源代码示例。希望以上解决方案对你有帮助!如有任何疑问,请随时向我提问。 阅读详情

相关推荐

Windows 10下Carla 0.9.15安装避坑指南:从下载到运行的全流程解析

本文详细解析了在Windows 10系统上安装和运行Carla 0.9.15自动驾驶仿真平台的全流程。内容涵盖从系统环境准备、资源下载、Python依赖安装,到首次启动验证及常见错误(如DLL缺失、显卡驱动问题)的深度解决方案,旨在帮助用户快速搭建稳定的开发环境,并运行第一个自动驾驶Python脚本。

alice7model的博客 546

ajax 前端下载Excel文件,下载成功但是内容全部为乱码

jQuery.ajax 请求 jQuery 相关问题涉及版本 jQuery 中文官方文档 jQuery github jQuery >=v1.5.1 支持 xhrFields 设置。 jQuery >=v2.2.0 支持responseType数据类型为binary时返回,不再抛出异常。(Ajax: Don’t throw exceptions on binary data response)......

JCM_ZZ的博客 3829

FPGA实战:手把手教你配置4个Aurora 8B/10B IP核共享时钟(附完整工程文件)

本文详细介绍了在Xilinx FPGA上配置四个Aurora 8B/10B IP核并实现时钟共享的实战指南。从工程规划、IP核基础配置到共享逻辑的实现,再到多核时钟域与复位架构的设计,以及时序约束与调试技巧,提供了完整的解决方案和可复用的工程文件。特别强调了GT参考时钟的共享和复位信号的处理,帮助工程师高效解决多通道高速串行通信的设计挑战。

weixin_30879169的博客 416

ajax请求后端导出excel乱码文件出错

前端选择某一目录,ajax请求后端传入文件list,处理数据,导出excel,文件乱码

weixin_43514864的博客 1663

【电子元件篇】MOSFET场效应管作用、选型和测量指南-超简单解读

场效应管是一种电压控制型半导体器件,相比三极管具有输入阻抗高、噪声小、功耗低等优势。主要分为结型和绝缘栅型两大类,后者又可分为耗尽型和增强型MOS管。场效应管通过栅极电压控制漏极电流,具有转移特性和输出特性两大静态特性,以及快速的开关特性。其关键参数包括饱和漏源电流、夹断电压、跨导等,应用场景涵盖信号放大、恒流源、阻抗变换等领域。使用时需根据电路需求选择合适类型,如结型管适合一般放大,功率MOSFET适合高压大电流场合。检测时可用万用表电阻档初步判断好坏和放大能力。

2301_81299416的博客 2542

【视频编码学习】AVS3参考软件HPM-4.1简单配置运行

1、用Visual Studio2017打开HPM-4.1文件夹 2、找到文件夹目录下x86_windows文件夹,因为是在win上运行该代码 3、然后找到对应vs版本(我当时2017版)的解决方案sln文件,双击打开可以看到该解决方案下的全部项目。 4、重新生成解决方案时发现提示sdk版本问题,所以右键点击所有的项目,选择重定向项目,修改一下sdk版本。 ...

谦虚勤奋诚实感恩 3100

前端Ajax接收文件流,实现下载excel文件并解决乱码问题

后端(express): Access-Control-Expose-Headers:暴露响应头供前端使用(Content-Disposition) router.post("/downExcel", (req, res) => { let assetsPath = path.resolve(__dirname, "../assets/1.xlsx"); res.set("Access-Control-Expose-Headers", "Content-Disposition");

Moon Star 9100

【UE4】PMC程序化生成戈德堡多面体详解(六边形星球)

游戏实机录屏 【魔方超新星】30天独立开发PCG Minigame《盖亚计划》作品展示,尚有不足,大佬轻喷 目录 游戏实机录屏 一、简介 二、设计思路 2.1 Disco Ball 2.2 Fibonacci Sphere 2.3 Goldberg Polyhedron 2.3.1 细分+对偶(最终方案) 2.3.2 对偶+截角(更优) 三、参考文献 一、简介 在制作Minigame初期,游戏风格想模仿《文明6》与《Polygonal Planet Proje...

ColorGalaxy 5932

jQuery ajax 提交表单中文乱码的问题

jQuery ajax 提交表单中文乱码的问题                           解决方法:                                                        前端:js中                                                        原因:.serialize()自动调用了e

小七的博客 4299

攀藤PMS系列传感器STM32驱动开发与数据解析实战

本文详细介绍了攀藤PMS系列传感器与STM32微控制器的驱动开发与数据解析实战,涵盖硬件连接、数据协议解析、驱动源码编写及数据处理优化。重点解析了传感器数据帧结构,提供了完整的STM32驱动实现代码,并分享了实际应用中的问题排查与性能优化经验,帮助开发者快速实现高精度颗粒物浓度检测。

milk8的博客 348

大模型——AI对话四象限

{ "摘要": "文章揭示了90%的人不会有效与AI沟通的问题,指出简单粗暴的提问只能得到标准答案。作者提出'AI对话四象限'模型:1)双方都懂时提效;2)AI懂但需学会分层提问;3)共同探索未知领域;4)向AI传授独家知识。强调沟通技巧的重要性,认为会提问的人不会被AI替代。最后呼吁读者尝试四象限思维,与AI碰撞火花。" }

312

php jquery ajax 乱码问题,如何解决jquery ajax中文乱码问题

jquery ajax中文乱码的解决办法:1、若客户端是gb2312编码,则在服务器指定输出流编码;2、服务器端和客户端都使用utf-8编码。本教程操作环境:Dell G3电脑、Windows7系统、jquery1.10.0版本。jquery ajax乱码问题产生乱码的原因:1、xtmlhttp 返回的数据默认的字符编码是utf-8,如果客户端页面是gb2312或者其它编码数据就会产生乱码2、po...

weixin_33436866的博客 338

OpenClaw第2章:快速安装

本章将手把手教你安装 OpenClaw。

Maynor的博客 3236

jquery ajax 返回中文乱码问题,JQuery ajax 返回json时出现中文乱码该如何解决

使用jQuery ajax调用的返回json,中文乱码问题Js代码如下:$.ajax({url: '/test/testAction.do?method=test',type: 'POST',dataType: 'json',timeout: 5000,async: false,error: function(){alert('获取数据失败!');},success: function(json)...

weixin_42299756的博客 494

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ajax请求中文乱码JQUERY,JQuery发送ajax请求时中文乱码

先排除项目故障:1.web.xml中是否配置了字符拦截器encodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingutf-8forceEncodingtrueencodingFilter/*2.jsp页面是不是utf-8顺便也加上这个标签,统一发送utf-8,不过听说有些鸡肋3.在排除了故障后,将ajax...

weixin_31100517的博客 559

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ajax html页面传值乱码,jquery.ajax的url中传递中文乱码问题的解决方法_jquery

JQueryJQuery默认的contentType:application/x-www-form-urlencoded这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1ISO8859-1,通常叫做Latin-1。Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符。JQuery的Ajax根本没有考虑到国际化的问题,使用了欧洲的字符集,所以才引起了传递中文出现...

weixin_31286719的博客 257

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JQuery Ajax Post传递中文乱码

JQuery Ajax Post传递中文乱码 ajax与jquery.ajax中文参数post传递乱码处理方法 今天在做项目时,需要用到Ajax,之前我在用GET方式传递中文参数时,只需要在后台程序中设置页面编码为GB2312即中文能正常显示,可是这次由于表单项目较多,不适合用GET方式传递,只能用POST方式,但发现后台程序中设置编码为GB2312时中文还是显示的乱码。经过一

Java Dynamic的专栏 1万+

asp ajax 500乱码,Asp中使用JQuery的AJAX提交中文乱码解决方法

在ASP开发中,我们可能会接触到JQuery和AJAX,然而这个时候也可能导致程序员混乱,下面好好看看爱站技术频道小编带给大家的Asp中使用JQuery的AJAX提交中文乱码解决方法吧!客户端页:client.html复制代码 代码如下:??? //jquery.html" target="_blank">jquery的post??? $.post??? (??????? 'server.a...

weixin_39732506的博客 242

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

jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下代码如下:$.ajax({dataType : ‘json',type : ‘POST',url : ‘http://localhost/test/test.do',data : {id: 1, type: ‘商品'},success : function(data){ } } );问题:提交后后台action程序时,取到...

weixin_39870132的博客 107

ajax访问servlet乱码,jquery ajax到servlet出现中文乱码(utf-8编码下)

个人遇到的该问题有两大类:第一类很普遍,就是jsp页面编码没有规定,servlet中接收参数没有转码,response没有使用setContentType()和setCharacterEncoding等等原因造成的,这种问题网上有很多帖子互相抄袭,我只谈第二类;第二类是使用jquery的ajax功能向后台发送中文参数,后台接收到乱码,我出现这个问题就是拜网上的各种所谓完美解决方案所赐。产生这种问题...

weixin_39814088的博客 510

java ajax json 乱码_jquery+ajax返回json中文乱码现象怎样处理

这次给大家带来jquery+ajax返回json中文乱码现象怎样处理,处理jquery+ajax返回json中文乱码的注意事项有哪些,下面就是实战案例,一起来看一下。使用jQuery ajax调用的返回json,中文乱码问题Js代码如下:$.ajax({url: '/test/testAction.do?method=test',type: 'POST',dataType: 'json',time...

weixin_42138788的博客 159

jQuery AJAX中文乱码问题

1. jQuery AJAX 请求,后台收到为乱码可以显式设置contentType的编码为utf-8, 后台一般都能正常解码例如:[javascript] view plain copy &lt;meta name="content-type" content="text/html; charset=UTF-8"&gt;   &lt;script type="text/javascript"&g...

qq_36306640的博客 1685

jquery ajax IE下中文乱码

jquery ajax IE下中文乱码 LT_刚 0 票 221 JSP和服务都使用的UTF-8编码,设置了拦截器进行UTF-8转码,JSP中如果使用Form提交Action,不会出现乱码问题,但如果使用jQuery的ajax就会出现乱码,ajax如下: /* $.ajaxSetup({ conten

yulei0524的专栏 1415

jQuery Ajax 传输中文乱码解决方案

<br />jQuery ajax中默认的是utf-8编码,所以在传输中文时会出现乱码。<br /> <br />解决方法:<br /> <br />      请求端:<br />           在js方法中将要传输的中文数据重新编码:<br />           inputVal = encodeURI(inputVal);    //inputVal 为中文字符串变量<br /> <br />      接收端:<br />          String inputVal = Strin

XBoy 1606
上一篇: 新浪微博提供了官方博客挂件,发博客的同时就可以自动发一条微博
下一篇: 页面全屏代码大全
dust
博客等级 码龄24年 20粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值