2016-12-30 57 views
2

我已經存儲了一些數學爲UTF-8列如下mysql數據庫的問題:htmlspecialchars_decode顯示標籤,而不是格式化

htmlspecialchars($data, ENT_QUOTES, 'UTF-8'); 

存儲在數據庫中的問題爲:

log<sub>2</sub>(log<sub>5</sub>625)का मान ज्ञात करें ? 

現在,我把這個問題從數據庫稱爲前端如下:

htmlspecialchars_decode($quest, ENT_QUOTES) 

它顯示t他以下的輸出:

log<sub>2</sub>(log<sub>5</sub>625)का मान ज्ञात करें ? 

同時輸出應該是

日誌(登錄 625)कामानज्ञातकरें?

如何解決這個問題?我錯過了什麼?

+0

不要'htmlspecialchars'和'htmlspecialchars_decode' –

+0

嗨,爲了保持數據庫安全,防止SQL注入攻擊作爲額外的安全措施,我正在這樣做。在這方面會有幫助嗎? – ITSagar

+0

做'htmlspecialchars'不能防止sql注入。 –

回答

1

試試這個:html_entity_decode(htmlspecialchars_decode($quest,ENT_QUOTES)) 和問題將得到解決是肯定的。

+1

嘿,是的,非常感謝。它工作完美。 – ITSagar

0

當您打開這個HTML瀏覽器上,這將如下渲染這似乎是正確的:

log<sub>2</sub>(log<sub>5</sub>625)का मान ज्ञात करें ?

+0

不,正如我所說,這是由於htmlspecialchars_decode() – ITSagar

+0

而在我的HTML頁面上獲得的輸出結果您是否將'htmlspecialchars_decode($ quest,ENT_QUOTES)'存儲在變量中,然後是'echo'?或者你在迴應'$ quest'?只需要確認 – Rohit

+0

它的echo htmlspecialchars_decode($ quest,ENT_QUOTES); – ITSagar