php某些字符返回奇怪的HTML

时间:2012-10-16 17:41:32

标签: php special-characters quotes output

  

可能重复:
  Browser displays � instead of ´

在我的网站上,当我从其他人的文本文档中复制使用不同字符的文本块时,例如较长的短划线,以及除“'”之外的其他类型的引号,它会返回html垃圾。如:

9 am – 4 pm

看起来像:

9 am � 4 pm

as ‘secrets’, ‘remembering/keeping,’, narratives, and ‘surprises.’

看起来像:

as �secrets�, �remembering/keeping,�, narratives, and �surprises.�

我的php只是插入数据:

strip_tags($_POST['details']);

和我的php在页面上输出它为html是:

stripslashes(linkify(nl2br(htmlentities($row['body']))));

我做错了什么?

3 个答案:

答案 0 :(得分:0)

尝试在PHP中使用此标头,然后输出数据:

if(!headers_sent()) header('Content-type: text/html; charset=utf-8');

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

在HTML文档中。 另外,检查MySQL以查看日期的注册方式。

答案 1 :(得分:0)

你的html中有utf字符,你可以做各种各样的事情,最好是调整你页面顶部的标题....就像上面提到的课程一样。

如果您不了解标题,则必须先将发送给,然后才会将任何内容发送回您的浏览器,因此它应该真正位于顶部,如果不是第一行。< / p>

答案 2 :(得分:0)

如果charset的东西没有帮助你,我有一个hackish解决方案。如果它只是你担心的静态文本(即数据库中没有任何内容),这可能会起作用。选择你的文本,复制并粘贴在纯文本编辑器中,如果你在Windows上,记事本(不是wordpad)可能会做到这一点。复制刚刚粘贴的内容,然后将其粘贴到php / html文件中。试一试,这可能会用更标准的字符替换“坏”字符。