2014-11-24 16 views
0

我正在編寫一個引擎,以便我可以閱讀RSS提要併發布到我的Oracle數據庫中,但是當從RSS提要獲取撇號並插入數據庫時​​,在INSERT之後查看數據庫時,我得到’,但PHP中的初始字符串爲。有沒有在Oracle任何方式插入,以確保它保持爲,而不是改變到’PHP和Oracle - 獲取’而不是單引號插入

我一直在使用

$variable = "Someone’s String" 


$sql = "INSERT INTO table (column) VALUES (q'[" . $variable. "]')" 

我也有與角色£這是同一個問題嘗試作爲顯示和£–

然而,這似乎並沒有工作 - 請你能闡明的情況有些光

+0

你如何確定在PHP中這個字符串是'''? – mudasobwa 2014-11-24 11:16:26

+0

var_dump和echo都說它是 – 2014-11-24 11:16:42

+0

所以你看看瀏覽器呈現的輸出,對吧?嘗試_view頁面source_,我很確定有HTML實體。 – mudasobwa 2014-11-24 11:17:33

回答

1

您的RSS提要包含實體,因此您需要將它們轉換爲其字符串表示形式。 html_entity_decode就派上用場了:

INSERT INTO table (column) 
VALUES (html_entity_decode($variable, ENT_QUOTES | ENT_XML1)) 

請注意,結果極大地依賴於標誌希望這有助於(第二個參數)。

+0

出於某種原因,這仍然不起作用 - 任何其他想法? – 2014-11-24 11:31:24

+0

這絕對有效。它看起來像你沒有按照我提供的鏈接,並沒有檢查文檔。要對引號進行編碼,您需要將其他參數傳遞給函數。 – mudasobwa 2014-11-24 11:33:36

+0

我不得不使用ENT_XML1標誌才能正常工作,但函數本身確實接受了您的答案,您是否可以更新它以使用該標誌,以便完全正確請 – 2014-11-24 11:55:11