我正在一个项目中,我需要将字符串作为url变量传递。我的问题是从数据库中提取字符串时,其中包含必须编码的字符。在另一侧解码时,它们会在&和+
等字符后掉落如果我手动设置字符串,则可以正确编码和解码...是否已解决或我做错了什么事?
例如,如果在我的编码页面上输入以下内容:
<a href="javascript:ColdFusion.navigate('/jobs/jobTypes.cfm?desc=#encodeForUrl(jobList.list_desc)#', 'center')">Type |</a>
joblist.list_desc正在从cfc中提取desc,该cfc获得了作业类型的描述,并且可以说其提取的描述是“挖掘与管道工程”
我的接收页面设置如下:
<cfoutput>
<table>
<tr>
<td width="60%" valign="top" class="subpagetitle">
#decodeFromUrl(url.desc)#
</td>
</tr>
</table>
</cfoutput>
它仅输出“挖掘”
现在,如果我像这样手动设置字符串:
<a href="javascript:ColdFusion.navigate('/jobs/jobTypes.cfm?desc=#encodeForUrl(Excavation & Plumbing)#', 'center')">Type |</a>
然后,URL将对其进行解码,并按原样输出。 “开挖与水暖”
如果我使用它在描述中不带&的话,它可以正常工作。它将编码和解码空格-_'“各种符号...仅当有人用+和&保存了描述并且仅当它从数据库中提取时,我才遇到这个问题。