2010-04-03 132 views
1

我的数据库包含从外部提要中提取的信息。在此原始文本Feed中,使用以下文本代替特殊字符:PHP/MySQL - URL中的特殊字符。如何避免?

& - & 
' - &39; 
é - é 

我提取了一些此文本以形成URL。例如,我从包含这些字符的数据构建一个URL可能看起来是这样:

http://url.com/search/?brand=Franklin&Hédgson's 

我使用GET变量,在此URL来构建进一步的查找,从而导致几个具体问题:

  1. é字符,因为它们出现在发回的MySQL,所以他们不会触发任何结果(因为字符采取数据库中的文本完整的HTML表单)。

  2. 在URL中的&的变量,GET只返回富兰克林,当它应该返回整个字符串分隔。

有没有处理这个问题的直接方法?

谢谢。

回答

1

这是因为URL中的'&'开始一个新的GET变量。 '?'开始你的查询字符串有2个项目,'brand'=“Franklin”和undefined =“Hédgson's”。

这是一个list of URL escape codes,你应该使用这些字符中的任何一个出现在你的URL(当然是在一个值内)。因此,当'&'被放入字符串时,需要将其转义为'%26',以便GET可以正确读取它。

相关问题