2013-03-12 42 views
0

每當我在我的應用程序中搜索某個具有撇號「'」的內容時,請求將發送到數據庫團隊,它的格式如下:tai'an city。它增加了一個額外的Ampersand,它失敗了請求(ASCII值爲' - > & amp;#x27;)。如果手動刪除多餘的&符號(例如tai'an city),則會成功處理該請求。Extra Ampersand在請求中設置,從而獲取虛假響應

如果我手動設置請求或嘗試替換& amp;#x27; 「'」就像

if(paramValue.contains("'")){ 
       paramValue = paramValue.replace("'", "'"); 
} 

但我知道這是不正確的做法。我想找到這個額外的&符號的起源。有人知道這件事嗎?

+0

什麼是表單數據? – Javier 2013-03-12 10:13:09

+0

按照你在問什麼來填寫數據?它是在後端構建的URL。 – Azfar 2013-03-12 10:16:54

+0

我強烈懷疑&符號來自於對瀏覽器的一些干擾,並且因爲您將問題標記爲* javascript *我認爲必須有某種形式或鏈接,或者... – Javier 2013-03-12 10:18:28

回答

1

您可能在某種形式選項或URL中有一個撇號,瀏覽器將其轉換爲稍後發送到Web應用程序的實體。嘗試:

<option value="tai%27an City">tai'an City</option> 

<a href="www.example.com/foo?bar=tai%27an City"> 

如果數據爲&#x27;在數據庫中原來存儲,可能的情況下,它是通過在Web頁面的用戶(當重新編碼即&#x27;&正在重新編碼爲&amp;)。例如,如果您正在使用JSP,則除非您指定<c:out escapeXml="false">,否則c:out將轉義此類字符。如果不知道你在做什麼步驟,我就猜不透,但我希望這能指導你解決你的問題。

+0

是撇號被存儲到其等效ASCII:'在數據庫..正確的值應該是tai &#x27;一個城市而不是tai & amp;#x27;一個城市 – Azfar 2013-03-12 10:27:53

+0

感謝哈維爾......我會看看 – Azfar 2013-03-12 10:43:52

+0

我的問題現在應該更清楚了。我強調了一些重要的事情 – Azfar 2013-03-12 10:52:46