2010-04-03 27 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可以正確讀取它。

相關問題