HTMLENTITIES不适用于西里尔字母

时间:2011-09-08 14:29:34

标签: php html-entities

如何使用西里尔符号制作htmlentities。 现在,当我尝试输入一些西里尔文:“Тест”它返回“ТÐμÑ” 我的代码:     $ var = htmlentities($ var); 编码:utf-8。 谢谢!

3 个答案:

答案 0 :(得分:3)

我有同样的问题,试试这个解决方案:

<?php echo htmlentities("Текст на русском языке", ENT_QUOTES, 'UTF-8') ?>

答案 1 :(得分:1)

为了解决这个问题 -

  

我希望我的用户不要在他们的评论中输入HTML代码

这不是必要的; htmlspecialchars()将转换所有必要的特殊字符,以防止HTML被显示。

答案 2 :(得分:0)

默认行为是 ENT_HTML401,它只包含几个实体。尝试使用 ENT_HTML5:

<?php echo htmlentities("Текст на русском языке", ENT_COMPAT | ENT_HTML5, 'UTF-8') ?>

如果想知道替换了哪些实体,可以使用get_html_translation_table:

<?php print_r(get_html_translation_table(HTML_ENTITIES, ENT_COMPAT | ENT_HTML401)) ?>
<?php print_r(get_html_translation_table(HTML_ENTITIES, ENT_COMPAT | ENT_HTML5)) ?>