今天遇到一个诡异的问题,在系统的搜索页面的输入框中输入了一个字符串,前面带有空格,提交搜索,正常!再点搜索,擦,居然无法搜到结果!
于是查找原因吧,过程简短说明一下:
首先,我看了一下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相关方法(有三个相关方法),在这里把取出的值中的页面空格转换成普通空格。
相关推荐
在小程序中HTML的网页实体无法正常使用,小程序中的写法为: 一、空格,换行 你好!\t七月流火啊!\n我在下一行 \t 空格( 多个只会显示一个空格) \n 换行 二、连续空格 你好 啊 哈哈哈(空格是中文字符一半...
在我们平常编辑程序的时候都会用上空格,所以软件开发网小编就来跟大家说说html空格代码是什么及html空格的一些基本使用方法。 html空格代码字符实体是不间断空格【 】,这个就是html中的空格代码。 网友提问...
关键在于与要在同一行,不然他们之间的部分都计入(包括回车’\n‘,空格) 2.的属性 以下是常用的属性 属性 功能 maxlength 最大输入长度 minlength 最小输入长度 cols 列数 row 行数 readonly 只读...
HtmlFragmentCompare 比较HTML片段,忽略空格,注释和属性的不同顺序。安装将此行添加到您的应用程序的Gemfile中: gem 'html_fragment_compare' 然后执行: $ bundle或将其自己安装为: $ gem install ...
本抽奖程序采用JS+HTML编写,效果精美,抽奖声效俱全,采用全键盘操作,并且判断去掉重复中奖 在使用的时候,首先需要允许Axtivex组件的运行和Javascript的运行 系统初始化后,首先按F9切换菜单,看看系统初始化...
然后就是过滤器,在微信小程序中使用还是挺多次的,在vue及react中也遇到过 1.富文本去除html标签 去除html标签及 空格 let richText = ' sdaflsjf的丰富及饿哦塞尔</p><span>dsfjlie</span>'; /* 去除富文本中的...
公司年会抽奖小程序 html+javascript源代码 后门设置指定中奖 排除设置指定不中奖 自定义皮肤 请运行在google chrome浏览器或火狐浏览器下 按键盘空格键或者字母A可进行抽取,隐藏菜单请按ESC。 建议每组选出10个...
⑤统计功能说明:空格数为所有空格数(中英文空格相同),英文字符数(只统计英文字母数,不包括半角标点符号),中文字符数(包括汉字和全角标点符号);所有字符数包括英文、汉字、全角和半角字符数以及空格数。
隐写术-SNOW-Avariation 这是一种创新的隐写术技术,可用于将文本数据隐藏在 2 个单词之间的空格后面。 它是流行的隐写术工具的变体 - SNOW [Steganographic Nature Of Whitespace] 由 Matthew Kwan 开发,他曾经...
一个简单的帮助程序功能,可帮助将空格键呈现为HTML。 在服务器和客户端上均可使用。 安装 $ meteor add dburles:spacebars-tohtml 原料药 超级基本的例子 Spacebars . toHTML ( { name : 'foo' } , '<p>Hello {{...
用Rust编写的一遍就地HTML缩小器,可用于Node.js,Python,Java和Ruby hyperbuild一种用Rust编写的快速一遍就地HTML缩小器,具有上下文感知的空格处理。 适用于:Windows,macOS和Linux的CLI。 Rust库。 适用于Node....
按键盘空格键或者字母A可进行抽取,隐藏菜单请按ESC。 ESC菜单中高级设置可以设置参与人数,格子大小,重置抽奖数据等信息。 点击已经中奖格子并输入点击的格子编号可取消该格子中奖状态,并清除中奖信息。 中奖...
5、带有Word统计功能:空格数为所有空格数(中英文空格相同),英文字符数(只统计英文字母数,不包括半角标点符号),中文字符数(包括汉字和全角标点符号);所有字符数包括英文、汉字、全角和半角字符数以及空格...
该程序为基于HTML5中Canvas标签的网页特效。包括主页,下雨,下雪,风车,烟花等五个网页特效。主页的四个链接分别链接到其余四个特效。其中烟花特效可响应鼠标左键单击事件。下雪特效可用空格使画面静止,用上下...
语言:Deutsch,English (UK),...复制不带空格和格式复制到剪贴板快速和容易选择的文本。 你有问题,建议,改进,批评或任何其他反馈? 然后给我们发送电子邮件至:chrome-apps@amaz.in 印记(应用程序 - 开发者): ...
实例041 根据下拉列表的值显示不同控件 58 2.4 文本框组件的应用 60 实例042 自动计算金额 60 实例043 设置文本框的只读属性 61 实例044 设置安全的密码域 63 实例045 限制多行文本域输入的字符个数 64 ...
innerHTML中如果包含空格和回车都会被认为是段落的结束,造成程序运行出错,解决办法,输出的时候将空格和回车替换掉,方便js调用。
自以为是的 HTML 格式化程序专注于使 HTML 差异可读。 此格式化程序将以一种方式规范化您的 HTML,当您对其进行比较时,您可以清楚地了解更改的内容。 这是一个“零配置”和自以为是的 HTML 格式化程序。 在未来的...
作用:保留源文档中的回车 和 空格 的作用 <pre></pre> 8、分区元素 1、块分区元素 语法:<div></div> 作用:布局 2、行内分区元素 语法:<span></span> 作用:设置同一行文字内的不同样式 9、行内元素 与...