URL中的特殊字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了URL中的特殊字符相关的知识,希望对你有一定的参考价值。
参考技术A URL无法显示某些特殊符号,这个时候就要使用编码。编码的格式为:一个百分号,后面跟对应字符的ASCII(16进制)码值。
例如空格的编码值是"%20"。(ASCII参考)
URL中的特殊字符
特殊含义 十六进制 值
1.+表示空格(在URL中不能使用空格)%20
2./分隔目录和子目录%2F
3.?分隔实际的URL和参数%3F
4.%指定特殊字符%25
5.#表示书签%23
6.& URL中指定的参数间的 分隔符 %26
7. = URL中指定参数的值%3D
1.字母数字字符"a"到"z"、"A"到"Z"和"0"到"9"保持不变。
2.特殊字符"."、"-"、"*"和"_"保持不变。
3.空格字符" "转换为一个加号"+"。
4.所有其他字符都是不安全的,因此首先使用一些编码机制将它们转换为一个或多个字节。然后每个字节用一个包含3个字符的字符串"%xy"表示,其中xy为该字节的两位 十六进制 表示形式。推荐的编码机制是 UTF-8 。但是,出于兼容性考虑,如果未指定一种编码,则使用相应平台的默认编码。
如何在表单提交期间删除 URL 中的特殊字符
【中文标题】如何在表单提交期间删除 URL 中的特殊字符【英文标题】:How to remove special characters in URL during Form Submission 【发布时间】:2015-05-27 16:13:00 【问题描述】:我正在尝试在 PHP 中提交表单期间删除特殊字符。每次我想提交数据时:
<form action="?" method="get">
<input type="text" name="str" value="I want to remove this" />
</form>
浏览器中的输出如下所示
http://localhost/?str=I+want+to+remove+this
有没有办法在提交之前或提交期间去掉那些“+”?
我的预期结果是
http://localhost/?str=I want to remove this
感谢您的帮助...
【问题讨论】:
【参考方案1】:在服务器端的url中不能有空格
str=I+want+to+remove+this
将被读作
str=I want to remove this
仅限。所以我认为你真的不需要担心这种编码。
【讨论】:
以上是关于URL中的特殊字符的主要内容,如果未能解决你的问题,请参考以下文章
url 中的特殊字符 % # & = ? / + 无法被后端解析问题分析及解决方法