我目前正在使用其他语言提取Feed数据。我执行以下操作并存储到mysql中。
$content = htmlentities($item->title, ENT_COMPAT, "UTF-8");
当我输出文本时,使用$ this->转义它仍然会逃脱编码实体。
所以我得到:á
而不是á
有什么想法吗?
答案 0 :(得分:1)
不要htmlentities
,htmlspecialchars
,htmlentities
编码许多不需要甚至不应编码的内容:
$content = htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8');
如果Feed数据未以utf-8编码,您可能需要在 htmlspecialchars
之前将其转换为:
$content = mb_convert_encoding($item->title, 'UTF-8', '<encoding of the other side>');
请注意,“对方编码”可能很重要。
顺便说一句,如果您要将其作为HTML输出而不进行任何过滤,请考虑将其存储为本机HTML。