HTML的空格与程序中的空格不同!

今天遇到一个诡异的问题,在系统的搜索页面的输入框中输入了一个字符串,前面带有空格,提交搜索,正常!再点搜索,擦,居然无法搜到结果!

 

于是查找原因吧,过程简短说明一下:

 

 首先,我看了一下URL中的值,本来空格应该是个“+”号,第一次查询确实是,可从第二次之后就不是了,浏览器输入框中URL这个词前面就是一个空格!见鬼了!因为URL中空格肯定必须得是“+”号!查看URL,发现这个空格编码为“%C2%A0”!尼玛,这是什么东西?!我的URL可是UTF-8编码,怎么会这样?!这又是个什么东西?

 

然后,我又查,本来好好一个空格,第二次提交时怎么就变成了这个鬼?!查了一下,页面的输入框回显也没有问题啊!这到底是什么情况?!

 

于是,我在Filter中截住请示,把搜索内容获取出来,将这个空格转换为char,一看之下,它的char=160!160是什么东东??上网一查,我呵呵了~~

 

空格的转义字符分为如下几种:

1.  &160#;不断行的空白(1个字符宽度)

2.  &8194#;半个空白(1个字符宽度)

3.  &8195#;一个空白(2个字符宽度)

4.  &8201#;窄空白(小于1个字符宽度)

 

看到第一条,我想大家应该知道了,我们在页面上显示信息时,是需要转义的(防Xss攻击),我们系统里面,因为内容显示的要求,我把所有空格转义成了“ ”的html空格!问题就这样产生了!

 

唉,人老啦,记性就不太好~记录一下吧,偶尔温故一下。同时,与诸君共勉!

 

PS:说一下我的解决方案吧:在系统的第一个Filter里面使用自定义的一个HttpServletWrapper把当前request包裹一下,重写里面的getParameter相关方法(有三个相关方法),在这里把取出的值中的页面空格转换成普通空格。

[PCIE5.0] 2.2.8.9 Optimized Buffer Flush/Fill (OBFF) Message 这段文字讲解的是 优化的缓冲区清空/填充(OBFF)消息,它是 PCI Express(PCIe)规范中的一个可选功能,用于向设备报告平台中央资源的状态。简单来说,OBFF 主要帮助设备了解当前平台资源(如缓存或内存)的状态,从而优化数据的处理和传输。这章重点内容如下。 阅读详情

相关推荐

《AI应用架构师必学:企业AI能力地图构建的高级技巧》

企业AI能力地图,简单来说,是一种可视化工具,它展示了企业在AI领域所具备的各种能力及其相互关系。就如同城市地图展示城市的街道、建筑和设施一样,AI能力地图呈现了企业在数据处理、模型开发、算法应用等多个方面的能力布局。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 819

页面显示空格数和dom结构显示空格数不一致问题

一个空格引起前后端编码格式问题 今天在做业务的时候,测试那边发来一个bug,说我空格出现不完整,我看了一下这边页面,发现有空格啊,我回去跟测试说:有空格啊;然后测试给我发来一张图 wtf!!!这是什么鬼 然后我打开了一下调试窗口发现dom结构是正常的 因为html会自动处理多个空格压缩成一个空格问题,因为后(s)台(b)没有使用   或者是 %20 进行转译,直接使用了空格 解决方案 没办法了后台大佬又不肯改,只能前端来修改了 下面是修改后的效果 这里使用了 标签进行修改,下面是pre标签

RexingLeung的博客 635

debian mirrors 镜像源 riscv 64 赛昉 星光 starfive vf2 InRelease‘ doesn‘t support architecture ‘riscv64‘

debian mirrors 镜像 riscv 64 赛昉 星光2 starfive vf2 InRelease' doesn't support architecture 'riscv64'

qq_29758759的博客 1259

前端对于后端返回连续空格的展示问题

后端返回数据格式带多个连续空格,前端只展示一个空格问题解决

weixin_42241989的博客 3336

基于PyQt5的ROS移动机器人的人机交互UI界面

每次做实验的时候,手动rosrun,roslaunch太过麻烦,通过ui界面的话,只需要点点按钮就可以啦 ros_car_py包括运动,建图,导航,ui界面的程序全部打包上传,相互依赖关系见ros_car_py包。 import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets imp...

工大机器人工作室 7366

DP83848以太网PHY芯片:自动协商与MII/RMII接口实战解析

以太网物理层(PHY)芯片是嵌入式网络通信的核心,负责数字信号与模拟信号的转换,其稳定性和兼容性直接影响系统性能。其工作原理基于IEEE标准,通过管理接口(MDC/MDIO)配置内部寄存器,实现链路速率、双工模式等关键参数的设定。这项技术的核心价值在于为工业控制、汽车电子等严苛环境提供可靠、自适应的网络连接。在实际应用中,PHY芯片通过自动协商(Auto-Negotiation)功能与对端设备智能匹配最佳通信模式,极大提升了产品的易用性。同时,其支持的MII与RMII接口为硬件设计提供了灵活性,前者是标准并

weixin_29189987的博客 374

后台返回的内容中有两个空格,显示到前端页面上只有一个空格

主要是浏览器默认只认同字符中间的一个空格,其他忽略掉。 <pre></pre>标记 <xmp></xmp>标记 用以上两个标记包裹住你需要浏览器按照你的预编排的格式输出的内容,这样就可以解决这个问题了。 ...

Kino的博客 2909

HFSS实战项目——GPS北斗双模微带天线

本文设计了一款方形圆极化微带天线应用于北斗B1和GPSL1频段,满足高增益、低VSWR、适当方向图等要求。设计中心频率为1568MHz,介质板采用厚度h=1.6mm的Arlon AD450(tm)板,相对介电常数为4.5,采用探针馈电。

2401_87464239的博客 1769

Linux下HTML编码格式影响页面,注意HTML的语言编码charset

注意HTML的语言编码的重要性一、编码重要性 - TOP编码可导致浏览者通过IE时候网页乱码,也可导致div+css的兼容性Hack。二、编码的位置 - TOP一般这段网页编码放在html网页中的和中间。三、html编码样式 - TOP通过改变charset=utf-8中的utf-8就可以改变网页的编码。一般我们在写CSS文件时候也需要在CSS文件顶部使用@chars...

weixin_36307713的博客 281

做了一个3DTiles编辑器,支持3DTiles的预览和裁剪导出

3DTiles编辑器的功能极其简洁,核心就是3DTiles格式模型的预览和裁剪。为了演示方便,本文所使用的源数据为mipmap3d[1]网站所提供的无人机拍摄影像,并进行3DTiles构建。打开软件,输入的绝对路径之后,点击添加模型,就可以将模型加载进预览区。之后,点击裁剪模式按钮,默认会出现立方体裁剪框,可通过拖动句柄的方式去调整裁剪框的范围。同时,除了默认的盒体裁切模式外,还支持多边形裁切,点击多边形裁切后,可切换到顶视图,选择重绘多边形,可进行打点绘制。

兴趣使然的创作者 603

针对小缺陷目标:在YOLOv11中引入小目标检测层

摘要: 针对YOLOv11在工业检测中漏检微小目标(如焊点气泡)的问题,研究发现深层特征下采样导致小目标信息丢失。通过在YOLOv11中增加P2检测层(4倍下采样)并融合浅层高分辨率特征,可显著提升小目标召回率。关键优化包括:调整模型结构、谨慎设计数据增强策略(减少MixUp、增加小目标粘贴)、重新分配损失权重(提升P2层权重)、优化推理速度(动态分辨率、通道裁剪)。同时强调数据质量的重要性,建议根据具体场景特性(目标尺寸、分布)定制方案,而非盲目调整模型。

as1225120794的博客 366

html中 在不同浏览器中间距不一样解决办法

我们就拿IE浏览器和谷歌浏览器来说,   空 格 上面这段代码就是我们现在要来测试的代码 上面图片是我们代码在IE浏览器里面浏览的结果。我们可以看到一个空格就相当于半个字体 上面是在谷歌浏览器里面预览的结果,一个空格相当于1个字体 之所以会这样是因为IE浏览器和谷歌浏览器它们默认的字体是不一样的,IE浏览器默认字体是宋体,谷歌浏览器的默认字体是Adobe Ara

qq_33587638的博客 3864

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

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

html中空格的写法

HTML不是一种编程语言,而是一种超文本标记语言 (markup language),是网页制作所必备的。超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 方法1:使用键盘,键入空格 在html页面中,我们可以通过键入“空格”键来插入空格。 例:在p.p1中键入一个空格,在p.p2中键入5个空格。注:此时是半角状态键入“空格”: <p class="p1">测试文字| HTML中文网! </p> <p class="p2">测试文字| HTM

weixin_45970945的博客 7万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

html中的空格占位符,在HTML中插入空格的几种方法

关于HTML,基本上作为程序员我们都会用到,本篇内容我们主要是针对刚入门的学员们,介绍两种在HTML中插入空格的方法。方法1、插入单个空格和制表符1、插入一个非间断空格。一般来说,无论你按多少次空格键,HTML也只会在单词之间显示一个空白间隔。当你需要插入多个空格时,请输入或代码。 它们名为“空格占位符”,你输入几个,就能在页面中显示几个空格。之所以称之为非间断空格,是因为这样不会产生换行符。...

weixin_35645701的博客 7785

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

html5中的空格怎么写,空格的代码(【html5空格代码怎么写】)

空格的代码(【html5空格代码怎么写】),哪吒游戏网给大家带来详细的空格的代码(【html5空格代码怎么写】)介绍,大家可以阅读一下,希望这篇空格的代码(【html5空格代码怎么写】)可以给你带来参考价值。6. 不要应用 with, void , eval。每行释注的释注符后要加一个空格后才写解注,如:// My name is CKJ.1. 单行释注:用“//”标注,注意免避无意义的释注。2....

weixin_33439618的博客 3656

html中加多个空格,如何在HTML中插入空格

通常情况下,我们用空格键来打出多个空格,而在编写代码时,通过空格键、Tab键以及回车键打出的空格,都会被HTML(超文本标记语言)自动忽略。HTML将这样的键视为空白字符,并显示为单个空白间隔。尽管CSS提供了多种样式的空格和缩进,但是在HTML中也有一些工具可以让你自己定义空格。插入单个空格和制表符插入一个非间断空格。一般来说,无论你按多少次空格键,HTML也只会在单词之间显示一个空白间隔。当...

weixin_42520374的博客 3977

html中文本框的空格,在HTML中插入空格的几种方法

关于HTML,基本上作为程序员我们都会用到,本篇内容我们主要是针对刚入门的学员们,介绍两种在HTML中插入空格的方法。方法1、插入单个空格和制表符1、插入一个非间断空格。一般来说,无论你按多少次空格键,HTML也只会在单词之间显示一个空白间隔。当你需要插入多个空格时,请输入或代码。 它们名为“空格占位符”,你输入几个,就能在页面中显示几个空格。之所以称之为非间断空格,是因为这样不会产生换行符。...

weixin_29628635的博客 5819

html中的空格和文字居中

html中的空格使用全角空格使用空格的替代符号使用CSS的 white-space 属性使用CSS的 letter-spacing 属性使用CSS的 word-spacing 属性使用CSS的 text-indent 属性 使用全角空格 全角空格被解释为汉字,所以不会被被解释为HTML分隔符,可以按照实际的空格数显示。 使用空格的替代符号 替代符号就是在需要显示空格的地方加入替代符号,这些符号会被浏览器解释为空格显示。 空格的替代符号有以下几种: 名称 编号 描述 &nbsp; &#160;

酒遥的博客 1164

html 空格显示不出来了,html 解决空格显示问题

前端开发者都知道,在html中手动输入多个空格或者是回车,在页面解析的时候都被解析成一个空白显示,但有时候的需求要求显示多个空格,这个问题怎么解决呢?根绝我个人的经验,目前找到了以下集中解决办法:1) 使用转义字符,如等,代替手动输入的空格,2)使用全角空格,全角空格被解析为汉字处理,3)控制css:将包裹文字的标签的样式增加设置:white-space:pre,浏览器会保留文本中的空格和换行4...

weixin_42512613的博客 6941

html中空格的字段是什么意思,html中空格符号以及空格字符实体的总结

在我们日常Web项目程序开发中,html代码是必不可少的,前段的展示页面都是html文件,在HTML中,空格对于很多新手来说都是不怎么在意的,但是空格在HTML中有着很大作用,在编写代码时,通过空格键、Tab键以及回车键打出的空格,都会被HTML自动忽略,所以在HTML中也有一些工具可以让你自己定义空格,那么我们今天就来介绍关于HTML中的空格。html中空格字符实体:1.关于html中的空格字符...

weixin_36378951的博客 1044

html语言的空格键,如何在如何在HTML中插入空格中插入空格

方法 1插入单个空格和制表符1、插入一个非间断空格。一般来说,无论你按多少次空格键,HTML也只会在单词之间显示一个空白间隔。当你需要插入多个空格时,请输入或代码。[1] 它们名为“空格占位符”,你输入几个,就能在页面中显示几个空格。之所以称之为非间断空格,是因为这样不会产生换行符。如果你滥用这种空格,浏览器可能无法以整齐易读的方式插入换行符。[2]2、插入不同宽度的空格。有多种字符实体可以让...

weixin_39956558的博客 678

Html的空格显示

一、使用全角空格 全角空格被解释为汉字,所以不会被被解释为HTML分隔符,可以按照实际的空格数显示。 二、使用空格的替代符号 替代符号就是在需要显示空格的地方加入替代符号,这些符号会被浏览器解释为空格显示。 空格的替代符号有以下几种: 名称 编号 描述     不断行的空白(1个字符宽度)     半个

aldenphy的专栏 4万+

Html、Android、微信小程序中空白空格样式

HTML中空白空格样式一.& nbsp;二.& ensp;三.& emsp;四.& thinsp;五.& zwnj;六.& zwj;    HTML提供了5种空格实体(space entity),它们拥有不同的宽度,非断行空格(& nbsp;)是常规空格的宽度,可运行于所有主流浏览器。其他几种空格(& ensp; & ems...

qq_36158551的博客 3826

html 中的空格%3c br%3e,介绍html中空格的字符实体

摘要:浏览器总是会截短 HTML 页面中的空格。如果您在文本中写 10 个空格,在显示该页面之前,浏览器会删除它们中的 9 个。如需在页面中增加空格的数量,您需要使用字符实体。本篇就单介绍空格的字符实体,HTML提供了6种空格实体(space entity):‌‍在web页面上,一般有3种书写:1. 直接输入法输入例如“版权” – ©.2. 字符:©3. charCode:©正文:不间断空格(...

weixin_34982884的博客 742

php中加入 空格的代码,在HTML中插入空格的几种方法

关于HTML,基本上作为程序员我们都会用到,本篇内容我们主要是针对刚入门的学员们,介绍两种在HTML中插入空格的方法。方法1、插入单个空格和制表符1、插入一个非间断空格。一般来说,无论你按多少次空格键,HTML也只会在单词之间显示一个空白间隔。当你需要插入多个空格时,请输入或代码。 它们名为“空格占位符”,你输入几个,就能在页面中显示几个空格。之所以称之为非间断空格,是因为这样不会产生换行符。...

weixin_33834241的博客 2014

html空格语言,html的空格代码是什么

html的空格代码是什么发布时间:2020-06-17 16:00:48来源:亿速云阅读:253作者:元一html空格代码是 为html空格字符代码,由“&+n+b+s+p+;”组成,记住最后一个分号不要忘记了。CSS中当 white-space 属性取值为pre时,浏览器会保留文本中的空格和换行,例如:AA BB显示效果为: AA BBCSS的 letter-spacing 属...

weixin_30909915的博客 4036
上一篇: Java防反编译技术实现探讨
下一篇: 从框架层面统一解决脏更新的探讨
hellohank
博客等级 码龄19年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值