ajax 参数乱码

常见的乱码有两种:一个是表单提交出现乱码;一个是以地址栏传参数出现乱码。
  针对第一种形式的乱码,可以在每个jsp页面加上<%@ page pageEncoding="GB18030"%>注:jsp2.0适用;    或者加上<%@ page contentType="text/html; charset=GB18030"%>,“GB2312”、“GBK”、“UTF-8”也可以,反正整个系统中统一就可以。还有一种方式是使用request.setCharsetEncoding("GB18030"),可以使用Filter统一处理。
  针对地址栏参数出现乱码的情况,解决方案如下(tomcat适用,其它的没有弄过):
     在tomcat的配置文件:server.xml中,找到connector元素,在后面加上一个属性ERIEncoding="GB18030",GB18030是我用的编码方案,在读者的项目中,可以设定成系统中统一使用的编码方案。注意connector元素有两个,一个是针对http,一个是针对https,可以都加上。

  下面讨论一下Ajax方式下的乱码问题:首先,如果整个项目使用UTF-8编码,并对request(调用xmlhttp对象的setrequestheader("contentType","text/html;charset=uft-8")方法)进行了正确的编码,就不会有乱码;如果整个项目选用了GB18030方案编码,那么一般情况下会出现乱码。产生的原因就是:xmlhttp使用了UTF-8方案对传递的参数进行编码(这也是整个项目使用UTF-8编码不出现乱码的原因)。我们可以做一个试验对此进行验证:
String str ="博客";
String newstr = new String(str.getBytes("UTF-8"),"GB18030");
如果你的系统使用的WINDOW,项目使用的是GB18030(或者GBK或者GB2312),输出newstr就会是乱码,这个乱码应该与你使用ajax提交中文“博客”所得到的乱码是一致的。    还有个问题,
String newstr2=new String(newstr.getBytes("GB18030"),"UTF-8");这样再得到一个新的字符串,这个字符串与初始的字符串str并不相同,最后一个字会是乱码,这个我不知道是什么原因,那们知道原因请告诉我一下。
  这样,知道了原理就可以找方法来避免乱码了。经过试验我找到两种方法来解决Ajax的乱码问题(其实原理是一样的):
   前提是使用setrequestheader方法进行了正确的编码。
  一、提交中文是使用javascript的函数:encodeURI进行编码,然后到服务器端使用
先使用UTF-8编码提取参数:
request.setCharacterEncoding("UTF-8");
String str = request.getParameter("param");
然后使用下面的方式进行解码:
java.net.URLDecoder.decode(str,"UTF-8")
这样就可以得到正确的参数。
  二、可以使用encodeURI进行两次编码,然后在服务器端使用以下方式:
String str = request.getParameter("param");
然后使用下面的方式进行解码:
java.net.URLDecoder.decode(str,"UTF-8")

Autosar配置——导入DBC后配置SecOC同步报文和同步请求报文 在Autosar中,安全性是一个重要的考虑因素,而SecOC(Secure On-Board Communication)是一种用于保护通信数据完整性和安全性的安全机制。在上述示例中,我们配置了同步报文和同步请求报文的属性。接下来,我们需要在Autosar中配置同步报文和同步请求报文。同步报文用于在通信双方之间同步SecOC状态,而同步请求报文用于请求SecOC的状态信息。通过以上配置,我们成功地导入了DBC文件,并在Autosar系统中配置了SecOC同步报文和同步请求报文。希望以上信息对您有所帮助! 阅读详情

相关推荐

一文说清Arduino如何实现舵机平滑转动(机器人场景)

深入讲解如何利用arduino控制舵机转动,实现机器人场景中的平稳运动。通过代码优化与脉冲宽度调节,让舵机动作更精准流畅,适用于各类自动化项目。

weixin_35706255的博客 899

ajax中文乱码原因分析

常见的乱码有两种:一个是表单提交出现乱码;一个是以地址栏传参数出现乱码。  针对第一种形式的乱码,可以在每个jsp页面加上注:jsp2.0适用;    或者加上,“GB2312”、“GBK”、“UTF-8”也可以,反正整个系统中统一就可以。还有一种方式是使用request.setCharsetEncoding("GB18030"),可以使用Filter统一处理。  针对地址栏参数出现乱码的情况,解

じJF[CMS]ve 2127

管道机器人手臂机械结构设计cad【8张】+三维图+设计说明书+绛重

履带式管道机器人适用于各种管道环境,包括直管道、弯曲管道、水平管道、垂直管道等,其灵活性和适应性使得它可以应对不同形状和尺寸的管道,完成全面的检测和维护工作。管道机器人研究具有重要的现实意义和深远的社会影响,通过提高工作效率、降低人员风险、提升服务质量、节约成本资源和促进科技创新等方面的作用,为现代工程技术领域的发展和进步做出了积极的贡献。管道机器人是一种能够在管道内部执行各种任务的智能机器人,而管道机器人的机械臂对于管道机器人在管道内执行任务的灵活性、稳定性和效率至关重要。

kejigongjiang的博客 943

AJAX中文传值乱码问题解决方法

在软件开发过 程中,乱码问题一直都是我们最头痛的事,页面的编码,开发环境的编码,数据库的编码,有一个不一致都有可能导致乱码问题的发生;有的很好解决,有的很棘 手;当你使用AJAX技术时,为调用的后台方法传值是必不可少的,英文和数字还好解决,一般不会出现乱码,介是如果是要传中文的字符呢?很容易就会乱掉, 因为在你使用编码的时候一般会默认:BG2312,而Ajax默认使用的是UTF-8编码格式,客

涂作权的博客 3040

基于Meteoinfo与TrajStat的后向轨迹聚类分析实战:从数据准备到可视化制图

本文详细介绍了基于Meteoinfo与TrajStat进行后向轨迹聚类分析的完整实战流程。从Java环境配置、Meteoinfo软件与TrajStat插件安装,到精准获取NOAA气象数据、设置参数进行批量轨迹计算,再到利用聚类分析提炼主要气流路径,并最终完成专业地图可视化与制图。文章旨在帮助环境与气象研究者快速掌握从数据准备到成果输出的全链路操作。

p4q5r6s7t的博客 804

软件各项会议评审意见模版

读梅老师主编的书,觉得评审意见模板很有参考价值和实用价值,帮梅老师安利一波,顺便记一下笔记。 《系统/子系统规格说明》评审意见模板 20XX年XX月XX日,XXX(主管机关)在XXX(会议地点)主持召开了“《XXX(产品名称)系统规格说明》评审会”。参加会议的有XXX机关,XXX院校,XXX研究所共XX名代表(名单见附件1),会议成立了评审组(名单见附件2),听取了XXX(单位)做的《XXXX报告》。经讨论质询,形成评审意见如下: 系统规格说明对系统的研制目标和范围、工作状态、运行方式以及所要满足的能力需

赵星汉同学的博客 1万+

ajax乱码解决汇总

ajax乱码解决总结第一,javascript沿用java的字符处理方式,内部是使用unicode来处理所有字符的,第二,utf-8是每个汉字(unicode字符)用3个字节来存储。第三,用utf-8来send数据是不会出现乱码的,是后台程序没有正确解码才会出现乱码。第四,ajax发送数据的时候如果修改 Content-Type 为 application/x-www-form-urlencode

冷雨夜@leon 7万+

第二章 零差云控关节模组内部构造

对零差云控的eRob70I进行了拆解

SFY__优快云的博客 5964

java ajax 返回乱码_ajax返回中文乱码

使用ajax获取服务器数据返回给客户端,出现中文乱码。在之前的一个ajax应用中指定codepage=936,将所有页面编码都指定为GB2312即可解决。这次的应用中却无起作用了,经过多次的试验,客服端的编码应该绝对没有问题的。可以判断问题一定出在服务器端。稍微分析一下可知虽然服务器端指定了文件的编码格式,但对于服务器输出流就成为了怀疑的对象。由于使用MS SQL2000,采用unicode编码,...

weixin_36084686的博客 1万+

MetaGPT核心模块:Data Interpreter 上手实战 - 数据分析和可视化(附运行过程详解)

上篇文章我们详细解读了 DataInterpreter 的实现原理(论文),本文将开始上手实操,开始写代码用上 DataInterpreter。从最简单的例子开始,先给大家看下其运行过程,看下DataInterpreter是如何自动拆解任务,完成任务的,帮助大家构建直观认识。

同学小张的博客 371

SAP Build Work Zone standard edition 订阅报错 OIDC trust missing 的成因与完整解决路径

摘要:用户订阅SAP Build Work Zone时遇到422错误,提示未配置OpenID Connect信任。该错误表明业务用户需通过SAP Cloud Identity Services的OIDC协议认证,而当前子账户仅配置了SAML信任或未配置信任。解决方法是进入子账户的Trust Configuration页面,使用Establish Trust功能建立与SAP Cloud Identity Services的OIDC信任关系。这是SAP新版服务的强制要求,SAML协议已不被支持。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 197

Ajax解决中文乱码问题

    在请求发送和接受请求过程中,常常会遇到中文乱码问题,结果在页面中显示乱码问题,在Ajax中如何解决乱码问题呢,可采用如下的两种方式解决: 1、页面的js做两次encodeURI,服务器的的serverlet获取后做一次utf-8转码,因为前两次进行编码后都变成了英文的字节码,所以到服务器端无论如何解码都不会错误,推荐使用该方法。 (1)js的代码 var url = "AJAXS...

gaojie1190的专栏 1342

AgentScope Java 入门:Spring AI Alibaba 与 AgentScope 的定位与区别

摘要:Spring AI Alibaba是阿里基于Spring AI开发的本地化AI应用框架,旨在服务Java开发者。它提供模型接入、函数调用、RAG等功能,并与阿里云基础设施深度集成。同时,阿里开源了多智能体框架AgentScope,其Java版(AgentScope-Java)专注于Agentic设计理念。两者将协同发展:Spring AI Alibaba侧重Spring生态集成,AgentScope-Java强化智能体能力。未来计划包括支持AgentScope、升级Admin平台,以及推进Server

SmartSi 1532

ajax中文传参乱码问题,ajax传递中文参数,乱码的解决方法

ajax传递中文参数,乱码的解决办法在前台页面编码两次:url=encodeURI(url);url=encodeURI(url);举个例子usid为要传递到servlet的中文参数var usid = encodeURI(sid);//uri编码usid=encodeURI(usid);//再次uri编码var url = "selectNameServlet?sid=" +usid;//合并构...

weixin_30670123的博客 2188

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

关于ajax传参数中文乱码问题

大家好,今天在写留言板的功能时,需要用到ajax,也需要传递参数,但是传递中文时总是报错。现在跟大家分享下。 var user = document.getElementById('span_id').innerText; var mess = $('input.textbox').val(); var xmlhttp; if (window.XMLH...

qq_42978230的博客 625

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

html ajax请求url参数乱码,ajax请求url中文字符参数乱码

问题描述 : ajax请求url中如果包含中文字符参数值,后台程序获取的参数值出现乱码问题。示例代码:/** *判断用电客户安装设备的计量方式:1、 高压计量 2、低压计量;加载对应的设备关系图片*/function getMeterLevel(consName){$.ajax({url:"CONSAnalyse_getMeterLevelFlag.action?cons_name=...

weixin_30769455的博客 227

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Ajax中get方式url传递中文参数乱码的解决

1. 在使用Ajax的时候使用url传递中文参数在控制器接收的数据是乱码,查了一下资料原因是: JQuery默认的contentType:application/x-www-form-urlencoded,这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1,ISO8859-1,通常叫做Latin-1,Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符。JQ...

二哈 4029

关于传递参数乱码和AJAX乱码问题

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> Weblogic10的JVM启动字符集与操作系统默认字符集相同,因此很可能导致默认字符集与开发环境不同。如果使用的是UTF-8编码的应用不会出现任何的问题,但是一旦编码采用GBK的时候会出现乱码问题。使用AJAX方式构建的应用很可能由于传输过程中使

忘己轩 2684

ajax请求参数乱码问题

ajax请求参数乱码问题 1.发get请求     a,乱码原因     ie浏览器内置的ajax对象会使用“gbk”对中文参数进行编码,而其他浏览器内置的ajax对象会使用“utf-8”对中文参数进行编码。     服务器端,默认使用"ISO-8859-1"去解码。     因为编码与解码所使用的字符集(编码格式)不一致,所以,会出现乱码问题。     b,解决方法:

龙腾四海365的专栏 1621

ajax传输参数到java后台乱码解决

ajax参数到后台乱码情况解决方案 情况 今天写页面发现个问题,之前ajax提交到后台的参数是没有问题的,今天根据需求把参数进行了一个md5+sha1加密,然后提交到后台出现了乱码问题。哎哎哎~ 解决方案 修改了几个地方: 添加ajax参数:contentType:“application/x-www-form-urlencoded:charset=UTF-8”, ,如下图所示: 将ajax参数...

weixin_43869241的博客 410

解决ajax get方式提交中文参数乱码问题

问题:使用DWZ+SSH+Tomcat7 提交中文参数时,由于最后调用的是jquery ajax get方式提交,后台取到的参数总是乱码。 解决方法,将提交的URL连同参数调用两次encodeURL ajaxTodo("xxxx/importPerMemCostAction.action?filePath=" + filePath + "&fileName=" + encodeURI(enc

在路上 1万+

ajax的get中文乱码问题,解决ajax get post方式提交中文参数乱码问题

最近在工作中遇到,使用ajax get方式提交中文参数的时候出现乱码,通过上网搜索,总结出比较简单的两种解决方案:第一种,由于tomcat默认的字符集是ISO-8859-1,修改Tomcat中的server.xml,在port为8080(也可以是不同的端口)的Connector中加入属性:URIEncoding="UTF-8"就可以了。这样在ajax的url中参数,或type为get的时候在da...

weixin_29291863的博客 1772

ajax请求参数为中文乱码的情况

  解决中文乱码问题的方法有很多。   一.前提是ajax请求传递参数对象到后台,对象中的某个参数的值为中文,到后台之后出现乱码,导致报错。问题解决如下:      rest层:      二.在tomcat的server.xml中添加一个配置即可;      三.可以在web.xml中配置一个<filter></filter> <filter-mapp...

weixin_34399060的博客 477

jquery ajax提交,参数中文乱码问题

问题:jquery中使用ajax提交,参数(?key=value)的中文乱问。解决:1、jsp页面使用"charset=utf-8",无法解决。  2、ajax中使用contentType="harset=utf-8",无法解决。  3、最后采用(http://woxiangbo.iteye.com/blog/628074)方法解决。 原理不清。

edanwade的专栏 623

jsp页面接收ajax请求参数乱码问题,AJAX 中文参数 乱码问题

AJAX中文问题分为两大类:1)发送路径中的参数有中文,在服务器段接收参数值是乱码例如:var url="a.jsp?name=小李";xmlHTTP.open ("post",url,true);解决办法:利用javascript的提供的escape()或encodeURI()方法例如:客户端:var url="a.jsp?name=小李";url=encodeURI(url);url=enco...

weixin_39926042的博客 665

ajax get请求中文参数乱码解决

问题描述:使用ajax向后台传中文参数时出现乱码 解决方案:   第一种方法: 由于tomcat默认的字符集是ISO-8859-1,修改Tomcat中的server.xml,在port为8080(也可以是不同的端口)的Connector中加入属性: URIEncoding="UTF-8"  就可以了。 &lt;Connector port="80" protocol="HTTP...

upupfeng的博客 6105
上一篇: oracle start with....connect by oracle树
下一篇: javascript 键盘监听
smartfirstme
博客等级 码龄18年 1粉丝 179原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值