为什么htmlentities返回一个空字符串?

时间:2014-12-19 17:11:36

标签: php

为什么htmlentities会返回一个空字符串:

<?php
session_start();
?>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>
        <title>Index</title>
        <link rel="stylesheet" type="text/css" href="../stijlen.css" />
        <meta charset="UTF-8">

        <style>
        @charset "UTF-8"    

        </style>

    </head>

    <body>
        <h2>Main index</h2>


        <?php
            echo(htmlentities("José", ENT_NOQUOTES, "UTF-8"));
        ?>
    </body>
</html>

如果我省略了函数的“UTF-8”部分,它可以正常工作。 “é”会产生问题,但我不明白为什么。为什么这是一个无效的角色?

1 个答案:

答案 0 :(得分:4)

您的源文件不是UTF8。 php documentation for htmlentities()表示:

  

如果输入字符串在给定编码中包含无效的代码单元序列,则将返回空字符串,除非设置了ENT_IGNORE或ENT_SUBSTITUTE标志。