带有突出字符的PHP字符串显示不正确


PHP string with accentuated characters not displayed properly

我使用的是PHP 5.2.17(我不是PHP专家)。我希望以下内容能正确显示:

<?php
$title = "Jérôme";
echo $title."<br>";
?>

但它显示:

Jé©ré´me

如何正确显示字符串?(字符串是静态的)

添加到HTML头中:

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

请注意,您应该有一个正确的HTML doctype,因为浏览器默认为非utf8。你可以像我一样做一个简单的测试,这个测试有效:

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<?php
$title = "Jérôme";
echo $title."<br>";

但是元标签的位置在head标签中。HTML文档应该如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>An XHTML 1.0 Strict standard template</title>
    <meta http-equiv="content-type" 
        content="text/html;charset=utf-8" />
</head>
<body>
    <?php
    $title = "Jérôme";
    echo $title."<br>";
    ?>
</body>
</html>

是标准

<meta http-equiv="content-type" charset="utf-8" content="text/html;" />
<?php
$title = "Jérôme";
echo htmlspecialchars($title);
?>

使用php-htmlentities函数。参见以下示例

$title = "Jérôme";
$title=  htmlentities($title);  
echo "<BR>Title :".$title."<br>";