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

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

问题描述:

我在PHP 5.2.17上(并且我不是PHP专家)。我希望下面会正确显示:带有突出字符的PHP字符串显示不正确

<?php 

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

?> 

但它显示:

JA©rÃ'me

妥善如何显示我的字符串? (字符串是静态的)

+0

看到我的答案,我测试了它,并且工作得很完美。 – Milap 2012-03-12 12:44:07

下方添加到您的HTML头:

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

注意,你应该有一个proper HTML doctype因为浏览器默认的非UTF8。你可以做一个简单的测试,就像我做的那样,这个工作:

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

但是meta标签的位置在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> 

是标准

+0

我没有HTML头,我直接在浏览器中调用PHP。 – JVerstry 2012-03-12 12:40:35

+0

**不**有HTML

标签。你的HTML应该有一个标签,它应该包含标签,以及类似的东西。无论如何,上面显示的meta标签适用于我,它也适用于您。我粘贴的四行脚本工作。试试吧) – <span class="text-secondary"> <small> <a rel="noopener">jpic</a></small></span> <span>2012-03-12 12:44:23</span>

使用php htmlentities函数。见例如

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

这样,我的源字符串就变成了J&Atilde; © r&Atilde; ´我,但它仍然没有正确显示。 – JVerstry 2012-03-12 12:37:33

+0

好的,我已经修改我的代码PLZ检查它 – Hkachhia 2012-03-12 12:41:13

+0

使用HTML_entity_decode($ title)'显示字符串 – 2012-03-12 13:01:38

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

<?php 
$title = "Jérôme"; 
echo htmlspecialchars($title); 
?> 
+2

有时你必须强制它形成php。 header('Content-Type:text/html; charset = utf-8'); – Damien 2012-03-12 12:36:24

+0

@JVerstry Great !! – Milap 2012-03-12 12:45:17