用URL传参带特殊字符,特殊字符丢失(encode)
(2010-04-21 16:55:54)
<!-- 正文开始 -->
一、问题阐述
用URL传参数的时候,用&符号连接,如果某一个参数中含"#$ ^ & * + ="这些符号的时候,在另一个页面getParameter就会取不到传过来的参数。
二、解决方法
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如空格的编码值是"%20"。
如果不使用转义字符,这些编码就会当URL中定义的特殊字符处理。
下表中列出了一些URL特殊符号及编码十六进制值
1.+ URL 中+号表示空格 %2B
2.空格 URL中的空格可以用+号或者编码 %20
3./ 分隔目录和子目录 %2F
4.? 分隔实际的 URL 和参数 %3F
5.% 指定特殊字符 %25
6.# 表示书签 %23
7.& URL 中指定的参数间的分隔符 %26
8.= URL 中指定参数的值 %3D
三、附录
用URLEncoder.encode()也可以得到上面字符的特殊编码。
String a="=";
try {
System.out.println(URLEncoder.encode(a, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
输出结果:%3D
今碰到一个头疼的问题,我在javascript中有一个url链接,其中这个url有两个参数,用&链接。本来我想是javascript处理特殊字符问题。所以我就在ShowArticle.aspx?CategoryID=5&ArticleID=27改成ShowArticle.aspx?CategoryID=5\&ArticleID=27,可是不行。找了大量资料,原来不是javascript处理特殊字符物体,而是url处理特殊字符问题。所以我把ShowArticle.aspx?CategoryID=5&ArticleID=27
换成ShowArticle.aspx?CategoryID=5%26ArticleID=27,行了。
javascript中的特殊字符如下:
\’ 单引号
" 双引号
\& 和号
\\ 反斜杠
\n 换行符
\r 回车符
\t 制表符
\b 退格符
\f 换页符
url中的特殊字符如下:
+ 表示空格(在 URL 中不能使用空格) %20
/ 分隔目录和子目录 %2F
? 分隔实际的 URL 和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL 中指定的参数间的分隔符 %26
<!-- 正文结束 -->
分享到:
相关推荐
### JSP URL传参特殊字符处理 在JSP(JavaServer Pages)开发中,通过URL进行参数传递是一种常见的做法。然而,在实际应用中经常会遇到一些特殊字符如“#”、“&”等,这些字符如果不经过适当的编码处理,在传递...
URL特殊字符处理方法 在URL中处理特殊字符是一个非常重要的知识点,特别是在Web开发中。URL(Uniform Resource Locator)是互联网上使用的资源标识符,用于标识互联网上的资源。但是,在URL中有些符号是不能直接...
"URL地址传参中文乱码处理" URL地址传参中文乱码处理是指在Web应用程序中,将中文参数传递给...在处理URL地址传参中文乱码时,需要根据具体情况选择合适的解决方案,并注意编码问题、特殊字符处理和Tomcat配置等方面。
当时就问我,如何解决,也许是当时忙吧,随口告诉他用HTMLENCODE方法,对方试告诉并没有能解决这个问题。我当时没有再给予回答,偶尔想起实在是对不起,我讲错了。今日闲暇就整理了一下如何处理GET方式提交的含有...
标题“URL特殊字符”涉及到的是在互联网中使用URL(统一资源定位符)时遇到的一些特殊字符问题。URL是用于在互联网上唯一标识资源的字符串,它由若干个部分组成,包括协议、主机名、路径、查询参数等。在URL中,某些...
URL编码是一种将非ASCII字符或特殊字符转换为可安全包含在URL中的形式的方法。在JavaScript中,我们可以使用`encodeURIComponent()`、`encodeURI()`和`escape()`函数来编码URL参数。其中,`encodeURIComponent()`是...
在Java编程中,URL编码和解码是处理URL参数中特殊字符的关键操作。`URLEncoder.encode()` 和 `URLDecoder.decode()` 是Java标准库中的两个关键方法,分别用于对URL参数进行编码和解码,以确保数据能够正确无误地在...
2. **查询字符串**:在URL的查询部分,如果包含空格或其他特殊字符,这些字符需要编码以防止解析错误。 3. **路径和片段标识符**:虽然不常见,但路径和片段标识符中的某些字符也可能需要编码。 4. **编程接口**:在...
4. 将要编码的字符串(包括汉字和特殊字符)传递给编码器:`encoder.Encode("你的汉字和特殊字符");` 5. 获取编码后的图像:`Bitmap qrCodeImage = encoder.GetQrCodeImage();` 识别二维码则涉及到解码过程。解码...
Base64是一种用于将二进制数据编码为ASCII字符串的方法,可以包含字母、数字和两个特殊符号'/'和'+'。然而,这两个字符在URL中是不安全的,因为它们有特殊的含义。 4. **Base64与URL兼容性**: - 在URL中使用Base...
hexencode 将字符串指定字符集进行编码成16进制字符串 hexstring 将字符串指定字符集进行编码成16进制字符串 power 求数字的幂函数 replace 将指定字符串中的源字符替换为目标字符 todec 将指定进制的数字转换成10...
这个压缩包文件"URL encode 与 URL decode 的C语言实现.zip"显然提供了用C语言编写的函数,用于对URL进行编码和解码操作。 URL编码是一种将非ASCII字符转换为ASCII字符集的过程,以便在网络上传输。它遵循以下规则...
总之,`encode`和`escape`在字符串处理中起着至关重要的作用,它们帮助我们正确地处理字符编码和特殊字符,确保数据的完整性和兼容性。理解并熟练掌握这些概念和相应的API,对于任何IT专业人员来说都是必备技能。
这两个操作主要用于处理URL中的特殊字符,确保URL能够被正确解析并传输。 **UrlEncode**的目的是将URL中的特殊字符转换为对应的百分比编码形式,以便在网络上传输时不会出现解析错误。例如,空格会被转换为`%20`,`...
在处理特殊字符时,可以使用`stringByAddingPercentEncodingWithAllowedCharacters:`方法进行URL编码,防止特殊字符在URL中引起解析问题。例如,空格会被转换为"%20"。相反,如果需要解码,可以使用`...
1. **特殊字符转义**:在RDLC报表中,如果数据源包含特殊字符如 `、`>`、`&` 和 `'`,这些字符可能会影响报表的解析和显示。为了避免这种情况,需要对这些字符进行转义。例如,`应该被替换为 `<`,`>` 替换为 `&...
字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c#
在处理URL时,我们经常会遇到特殊符号,特别是`&`符号,因为它在URL中通常用于分隔查询参数。本文将介绍两种处理URL中特殊符号,尤其是`&`的方法,以及一些网络分享的相关策略。 首先,当URL参数内容包含`&`时,...
在Java编程语言中,`URLDecoder`和`URLEncoder`是两个非常重要的工具类,主要用于处理URL中的中文字符和其他特殊字符。这两个类位于`java.net`包下,可以帮助开发者进行字符串编码和解码,确保数据在网络传输过程中...
SQL 关于特殊字符处理的基本方法 SQL 关于特殊字符处理的基本方法是 SQL 编程中非常重要的一方面。特别是在用户输入方面,可能会包含一些特殊字符,例如引号、尖括号等,这些字符可能会引发严重的安全问题,如 SQL ...