從數據庫中用PHP顯示某些數據的問題。PHP:獲取「SSA ' s」而不是「SSA's」
如何其目前呈現 - 「SSA '」
應該如何顯示 「SSA的」
HTML Meta標籤
meta charset="UTF-8">
PHP代碼
$article_title = html_entity_decode(mb_convert_encoding(stripslashes($r->ArticleTitle), "HTML-ENTITIES", 'UTF-8'));
從數據庫中用PHP顯示某些數據的問題。PHP:獲取「SSA ' s」而不是「SSA's」
如何其目前呈現 - 「SSA '」
應該如何顯示 「SSA的」
HTML Meta標籤
meta charset="UTF-8">
PHP代碼
$article_title = html_entity_decode(mb_convert_encoding(stripslashes($r->ArticleTitle), "HTML-ENTITIES", 'UTF-8'));
您可以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
$ string = htmlspecialchars_decode(「SSA ' s」); echo $ string; –
你需要再次調用html_entity_decode
因爲數據被存儲爲雙編碼並取出stripslashes
。
$article_title = html_entity_decode(html_entity_decode(mb_convert_encoding($r->ArticleTitle, "HTML-ENTITIES", 'UTF-8')));
您可能想要調查數據如何作爲雙重編碼存儲在數據庫中。也許htmlentities
在某處被調用兩次。
要添加到您的註釋:
你不應該存儲編碼數據的HTML除非出於某種原因,你真真正需要(有可能是你需要某些情況下)。它只在輸出和網頁上呈現,你想使用htmlentities
。
'htmlentities'不應該在保存時調用。它應該用於輸出,但不用於保存輸入。 –
是meta標籤不完整或只是一個錯字? – Raptor
聽起來好像它可能是雙編碼的,如果你查看源代碼,它是否顯示'SSA ' s'?你不需要在它上面調用stripsplashes。 – Clay
如果我查看源代碼,我將獲得SSA ' s –