我在使用数据库中的PHP显示某些数据时出现问题。
目前的表现如何 - " SSA' s"
它应该如何显示" SSA"
HTML元标记
meta charset="UTF-8">
PHP代码
$article_title = html_entity_decode(mb_convert_encoding(stripslashes($r->ArticleTitle), "HTML-ENTITIES", 'UTF-8'));
答案 0 :(得分:1)
删除html_entity_decode
函数,因为您要对HTML-ENTITIES进行双重编码
正如@ChrisBanks指出的那样,你也不需要stripslashes
答案 1 :(得分:1)
您需要再次调用html_entity_decode
,因为数据存储为双重编码并删除stripslashes
。
$article_title = html_entity_decode(html_entity_decode(mb_convert_encoding($r->ArticleTitle, "HTML-ENTITIES", 'UTF-8')));
您可能想要首先研究数据如何以双重编码的形式存储在数据库中。也许htmlentities
在某个地方被召唤两次。
添加评论:
您不应该存储HTML编码的数据,除非出于某种原因您真正需要(可能有某些情况需要您)。只有在输出和网页上呈现时,您才想使用htmlentities
。
答案 2 :(得分:1)
您可以decode
使用这两种方法html_entity_decode()
或htmlspecialchars_decode()
基本示例:
$string = html_entity_decode("SSA's");
echo $string; // result SSA's
$string = htmlspecialchars_decode("SSA's");
echo $string; // result SSA's