Zend Framework转义utf8编码字符

时间:2010-12-23 17:33:33

标签: php zend-framework

我目前正在使用其他语言提取Feed数据。我执行以下操作并存储到mysql中。

$content = htmlentities($item->title, ENT_COMPAT, "UTF-8");

当我输出文本时,使用$ this->转义它仍然会逃脱编码实体。

所以我得到:á而不是á

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

不要htmlentitieshtmlspecialcharshtmlentities编码许多不需要甚至不应编码的内容:

$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。