Request.getParameter错误地编码了字符串

问题描述 投票:0回答:1

我具有带有以下查询字符串的URL

equipmentAccessoryRoute = LFVR + BASICACC

当执行request.getParameter(“ equipmentAccessoryRoute”)时,它将'LFVR BASICACC'存储在字符串变量中,并用空格替换加号。

为了解决此问题,我做了类似的事情

String accessoryRoute = java.net.URLEncoder.encode(request.getParameter("equipmentAccessoryRoute"),"UTF-8");

它运行良好,但现在它不适用于以下查询字符串(以前运行过)

equipmentAccessoryRoute = C1000IP5EL @ -A

编码将其转换为'C1000IP5EL%40-A'并存储为字符串。

我真的很困惑。我尝试学习URL编码,但是很难理解。

java query-string urlencode
1个回答
0
投票

URL-统一资源定位符

  • URL只能使用ASCII通过Internet发送字符集。由于网址通常包含ASCII以外的字符设置,则必须将URL转换为有效的ASCII格式。
  • URL编码用“%”替换不安全的ASCII字符,后跟两个十六进制数字。
  • URL不能包含空格。 URL编码通常替换空格带有加号(+)或带有%20。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.