2016-12-30 1 views
2

J'ai stocké quelques questions mathématiques dans la base de données MySQL ayant UTF-8 colonnes comme ci-dessous:htmlspecialchars_decode montre des balises au lieu de formatage

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

qui stocke la question dans la base de données comme:

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

maintenant , J'appelle cette question de la base de données à frontend comme ci-dessous:

htmlspecialchars_decode($quest, ENT_QUOTES) 

qui montre t il résultat suivant:

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

alors que la sortie doit être

journal (log 625) का मान ज्ञात करें?

Comment résoudre ceci? Qu'est-ce qui me manque?

+0

Ne pas faire 'htmlspecialchars' et' htmlspecialchars_decode' –

+0

Salut, pour garder la base de données sécurisée contre les attaques SQL Injection comme mesure de sécurité supplémentaire, je le fais. Les htmlentities aideront-elles à cet égard? – ITSagar

+0

L'utilisation de 'htmlspecialchars' ne protège pas de l'injection sql. –

Répondre

1

essayez ceci: html_entity_decode(htmlspecialchars_decode($quest,ENT_QUOTES)) et problème sera résolu à coup sûr.

+1

Hey oui, merci beaucoup. Cela a fonctionné parfaitement. – ITSagar

0

Cela semble correct lorsque vous affichez ce code HTML sur le navigateur ceci rendra comme ci-dessous:

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

+0

Non, comme je l'ai dit, c'est la sortie que j'obtiens sur ma page HTML suite à htmlspecialchars_decode() – ITSagar

+0

Est-ce que vous stockez 'htmlspecialchars_decode ($ quest, ENT_QUOTES)' dans une variable puis 'echo'? ou vous faites écho '$ quest'?Juste pour la confirmation – Rohit

+0

son echo htmlspecialchars_decode ($ quest, ENT_QUOTES); – ITSagar