get请求URL传中文参数后台接收乱码的解决之道

解决Ajax GET请求中文参数乱码的全面方案 在Web开发中,Ajax技术广泛用于实现页面的异步更新,而GET请求因其简单快捷被大量应用。然而,在处理包含中文等非ASCII字符的参数时,乱码问题时有发生。这不仅影响数据的准确传递,还会对用户体验产生负面影响。是一个内建的JavaScript函数,其主要目的是将字符串编码为有效的 URI(统一资源标识符)组件。它广泛用于对URL的组成部分进行编码,例如对查询字符串(query string)或哈希值(URL的锚部分)进行编码。 阅读详情

现在需求是在浏览器里面直接发请求,浏览器发请求,默认发的是get请求,然后带参数,参数包含中文汉字。麻烦就在这里,参数里面的汉字,在后台接收的时候,是乱码。

这么简单的传递参数的方式,是不OK的。

下面看详情。

这个就是简单的在URL里面带中文汉字参数,然后,就在后台乱码了,哦。这就悲剧啦。

1,有的人说:(结果:失败)

后台解码的时候,如下,

String setMetricText = URLDecoder.decode(setMetricValue, "UTF-8");

这么滴可以解决问题,我就尝试一下,如下。

我这个处理方式呢,前台发送请求方式,还是跟上面那样,直接发请求,未对中文汉字参数做任何编码方面的修改。

结果,也就如上图那样,还是乱码。

2,有的说:(结果:失败)

在前台发请求的时候,给参数编码一下。后台再解码一下。

encodeURI("geos汉字传递测试.xls")

然后,把编码过的参数,给添加到URL里面去,如下

不信的你可以自己试验一把,把下面编码过的参数放到浏览器的URL里面,然后,一回车,就变成如上图的情况啦。

然后,后台还是乱码依旧。

尴尬啦。还是不OK。

3,有的说:(结果:失败------因为编发格式写反了,给修正一下这个就能用啦。)

后台解码姿势换了一种,

filePath = new String(filePath.getBytes("utf-8"), "ISO-8859-1");

后台这么干,前台直接发请求,不编码,试试。

结果如下:

还是乱码。不OK。

后来有人留言说我上面代码写反了,应该如下这么写,就好。

filePath = new String(filePath.getBytes("ISO-8859-1"), "utf-8");

结果还就真的成功了。

前端的请求不需要去两次编码,后段就可以直接拿到非乱码的值。OK

4,有的说:(结果:成功------对于特殊字符是不怎么支持的)

encodeURI(encodeURI("geos汉字传递测试.xls"))

这么干,在前台发请求的时候,给中文汉字参数,来两次编码,如上,然后,后台不变。解码一次具体看截图。

哎,竟然OK啦。

good

但是,

哎,一遇到,但是,就是文章的转折点啦。要出现坑了,注意啦。

关于特殊字符的测试。

可以看到,也是经过了2此的编码,但是,到后台之后,发现,还是出现了部分偏差。

具体就看图中的偏差吧,反正是前后台不一致啦,这就是问题啦。

最后,

除非是要搞死人的需求,不然,不带这么玩的。因为这个2次转码,也不是百分百安全的。

所以,咱还是要么不带中文汉字参数,要么咱就换个请求方式吧。

简单的都不安全,这不跟hashmap和hashtable一个道理吗?

简单的,快捷的,他就线程不安全。

安全的,他实现就复杂。

欢迎工作一到五年的Java工程师朋友们加入Java技术交流:585550789

ServiceNow Discovery & CMDB Interview Questions and Answers (2025) 【代码】ServiceNow Discovery & CMDB Interview Questions and Answers (2025) 阅读详情

相关推荐

振动能量采集技术:从原理到实战,破解物联网供电难题

能量采集技术旨在捕获环境中的废弃能量(如机械振动、热能、光能)并将其转化为电能,其核心原理在于通过压电、电磁、静电或摩擦电等物理效应实现能量形式的转换。这项技术的核心价值在于为物联网(IoT)中难以布线或更换电池的分布式传感器节点、植入式医疗设备等提供近乎永续的电力解决方案,从而解决物联网部署的“最后一米供电”瓶颈。其应用场景广泛覆盖工业预测性维护、结构健康监测、可穿戴设备及消费电子等领域。本文聚焦于振动能量采集这一细分方向,深入剖析了压电式、电磁式、电容式及摩擦纳米发电机(TENG)等主流技术路线的实战考

weixin_42660494的博客 569

解决 Get 和 Post 和客户端,get请求URL传中文参数等乱码问题(超详细)

解决 Get 和 Post 和客户端,get请求URL传中文参数等乱码问题 说来说去还是先写一些最基本又是最常见的疑难杂症,针对于基础薄弱的同学,这些东西还是需要注意的,以后写接口,封装工具,文件上传下载等过程中,发布到服务器上出现类似的中文乱码问题,都是一些小问题但是有时容易忽略的问题。今天就提出来单独说说。 废话不多说,直接开始。 一. get方式的请求中文乱码 在一般的web开发过程中,提交...

空空说技术的博客 3万+

Workbench-nCode下发动机引擎应力疲劳分析

在工程数据库中定义材料模型参数,结构场分析基本参数:密度7850Kg/m3、弹性模量210E9Pa、泊松比0.3,疲劳分析参数:应力-疲劳曲线表(S-N Curve),应力-疲劳曲线如下图2所示,如果没有合适的数据可使用结构钢材料进行分析。网格为四面体高阶单元,各零件的单元尺寸如下表1所示,单元质量分布如下图3所示。在workbench平台下搭建分析流程如下图6所示,前述设定完成后,提交求解后即可得到相应的应力、应变结果,更新结果后目录树中会有相应的nCode DesignLife插件,如下图7所示。

ansysxuexizhe的博客 1550

.net后台怎么取得sessionstorage里面的值_get请求URL传中文参数后台接收乱码的解决之道...

现在需求是在浏览器里面直接发请求,浏览器发请求,默认发的是get请求,然后带参数,参数包含中文汉字。麻烦就在这里,参数里面的汉字,在后台接收的时候,是乱码。这么简单的传递参数的方式,是不OK的。下面看详情。这个就是简单的在URL里面带中文汉字参数,然后,就在后台乱码了,哦。这就悲剧啦。1,有的人说:(结果:失败)后台解码的时候,如下,String setMetricText = URLDecode...

weixin_39887546的博客 603

Qt中多线程的使用(一)

我们要实现的是读取大文件qtgui.index的内容加入文本框中。 很容易想到的方法: QFile* file = new QFile("E:\qtgui.index"); file->open(QIODevice::ReadOnly); QTextStream *stream = new QTextStream(file); while(!st...

yao5hed的专栏 1万+

npu-smi info 华为昇腾NPU 状态监控工具解读

用于查询所有设备的基本信息。

Lixora's DB Home 2489

get请求传中文的几种方法

<1>encodeURI与 decodeURI 应该是最常用的 encodeURI("啊哈嘿"); 结果为:%E5%95%8A%E5%93%88%E5%98%BF 百度搜索就是get请求,比如空格就是%20,多打几个空格搜索看看。 而且chrome+tomcat测试服务器接收自动转回来。 转移序列概念 <2> 修改服务器编码集(一劳永逸) Tomcat为例...

wolfies的博客 1万+

LeetCode 热题 100 回顾

力扣最受刷题发烧友欢迎的 100 道题 LeetCode 热题 100 : 题目回顾、解题思路、复杂度分析、代码实现、验证算法

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 9万+

GET请求URL中带中文参数的方法

url参数中带中文参数通常会产生乱码,比如 http://8520.15.35:8003/getbranchs?Sub_bank_select=朝阳 再view函数中可以通过转码来解决该问题: def getbranchs(request): request.encoding='gb2312' par1=request.GET['Sub_bank_select'] print(par1) ... return ... print之后可以得到中文参数:朝阳。

akuxia的博客 1892

【OpenClaw从入门到精通】第20篇:OpenClaw实战—从零搭建教育自动化助教系统(作业批改+智能答疑+学情分析)【2026实测】

本文基于OpenClaw开源框架,聚焦教育行业“答疑重复、批改耗时、学情模糊”三大核心痛点,提供从环境部署到功能落地的全流程实操方案。通过整合QQ群交互、代码分析、数据可视化等技能,构建“智能答疑+作业批改+学情分析”的自动化助教系统。系统支持7×24小时群聊答疑、多语言作业自动评审、学情数据周报生成,经实测可使助教工作时间减少60%、作业批改效率提升5-10倍、学情问题识别提前5周。文中包含完整配置步骤、可直接运行的代码示例及避坑指南,兼顾新手入门与进阶实操,帮助教育工作者快速落地自动化工具,从重复劳动中

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1455

2026年1至9月武汉市房地产价格深度分析报告

本报告基于2026年1月至9月武汉市实际成交案例,从成交价格、区域分布、户型结构、价格走势等维度进行深度分析。数据来源包括武汉市住房保障和房屋管理局备案数据、主要中介机构成交记录及典型楼盘网签案例,覆盖全市15个行政区及主要功能板块。

王国平的博客 336

get方式传中文参数

用get方式传中文参数,需要解码才能还原成中文: 1.在tomcat的默认配置下,get方式传的参数要以ISO-8859-1作为解码 String param = request.getParameter("param"); if(param != null) { param = new String(param.getBytes("ISO-8859-1"),"GBK"); } ...

imean的博客 850

【网络与爬虫 61】移动端App爬虫终极指南:Android-iOS应用数据提取黑科技全解析

本文全面解析移动端App爬虫技术,涵盖Android和iOS两大平台的数据提取方法。从基础的网络抓包到高级的代码注入,从自动化测试框架到反调试技术绕过,为开发者提供移动端数据采集的完整解决方案和实战经验。

熵数实验室 3029

hutool请求get带参数请求_get请求URL传中文参数后台接收乱码的解决之道

现在需求是在浏览器里面直接发请求,浏览器发请求,默认发的是get请求,然后带参数,参数包含中文汉字。麻烦就在这里,参数里面的汉字,在后台接收的时候,是乱码。这么简单的传递参数的方式,是不OK的。下面看详情。这个就是简单的在URL里面带中文汉字参数,然后,就在后台乱码了,哦。这就悲剧啦。1,有的人说:(结果:失败)后台解码的时候,如下,String setMetricText = URLDecode...

weixin_30262217的博客 4269

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

url中拼接中文参数,后台接收为乱码的问题

现实项目中遇到页面URL中文中文参数传值到,后台解析为乱码 遇到在URL中拼接中文的参数,后台拿到的数据为乱码的问题,这里来说一下问题出现的原因与解决方法。 大家比较关心的应该是解决的方法,因此先说解决方法。 解决方法 解决的方法是在客户端对这个中文参数进行编码,然后服务端再进行响应的解码就行了。 客户端编码(JavaScript) 页面 var url = "contract!select.action?chineseParam=" + encodeURI(encodeURI("我是中文参

学英语的程序员 2518

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

get请求中url传参中文乱码问题

在项目中经常会遇到中文传参数,在后台接收到乱码问题。那么在遇到这种情况下我们应该怎么进行处理让我们传到后台接收到的参数不是乱码是我们想要接收的到的,下面就是我的一些认识和理解。 一:get请求url中带有中文参数,有三种方式进行处理防止中文乱码 1、如果使用tomcat作为服务器,那么修改tomcat配置文件conf/server.xml中,在<Connectorport="8082"protocol="HTTP/1.1"中加入URIEncoding="utf-8"的编...

u012972294的博客 3851

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

get请求url中带有中文参数出现乱码情况

在项目中经常会遇到中文传参数,在后台接收到乱码问题。那么在遇到这种情况下我们应该怎么进行处理让我们传到后台接收到的参数不是乱码是我们想要接收的到的,下面就是我的一些认识和理解。 get请求url中带有中文参数,有三种方式进行处理防止中文乱码 1、如果使用tomcat作为服务器,那么修改tomcat配置文件conf/server.xml中,在<Connectorport...

weixin_33972649的博客 3735

Volley get请求上传中文参数,后台接收到的是乱码的解决办法

Volley get请求上传中文参数,后台接收到的是乱码的解决办法   try {             keywords = URLEncoder.encode(keywords, "utf-8"); //先对中文进行UTF-8编码         } catch (UnsupportedEncodingException e) {             e.printStackTr

warkey_song的专栏 4688

解决发送get请求后台接收参数为乱码

解决发送get请求后台接收参数为乱码方法一:get方式提交的参数编码,只支持iso8859-1编码。因此,如果里面有中文。 在后台就需要转换编码,例如: String bname = request.getParameter("bname"); bname = new String(bname .getBytes("iso8859-1"),"utf-8"); 12方法二:在客户端使用 URLE...

Djj_Alice的博客 2325

GET、POST、超链接形式提交表单中文参数的乱码问题

GET、POST、超链接形式提交表单中文参数的乱码问题

cchqlh的博客 4578

解析一次get请求后台解码中文乱码的问题

今日遇到一个项目组中个人独有的bug,系统输入中文搜索内容搜不出来,组员都可以,从前台查到后台,发现前端的获取值和传递值都没什么问题,到了后台,接收的中文参数直接是个乱码,但是想到之前也有传递过中文参数,都没事,这次怎么不行了。本地tomcat没有配置指定的解码字符集,导致get请求带回来的中文参数使用默认的iso-8859-1解码,当然解码不出来。既然看到这个问题,那就展开记录下相关的get与post请求的差别以及问题产生的原因,方便后续追溯。get请求的URIEncoding编码会对参数进行转码,

httpmc2018的博客 1411

URL传递中文参数,防止乱码

URL传递中文参数 URL传递中文参数,默认格式为ISO-8859-1,一般在接收该参数时,如果不进行编码,得到的会是乱码。 一般不建议url传参,更不建议传递中文参数,如果非传不可,在传递中文参数时,接收参数时将参数转换,例如: String result = new String(name.getBytes(“ISO-8859-1”), “utf-8”); 第二种:在服务器xml代码中改配置信息: <Connector port="8080"protocol=“HTTP/1.1” maxThrea

carry_666的博客 2386

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

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

在路上 1万+
上一篇: 服!直聘:AI 薪酬飙升 !Java 狂降?80% 程序员已确认!
下一篇: java反射详解
java1856905
博客等级 码龄8年 100粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值