1

可能重复:
浏览器显示�而不是´

在我的网站上,当我从其他人的文本文档中复制使用不同字符的文本块时,例如较长的破折号和除 '' "" 之外的其他类型的引号,它会返回 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']))));

我究竟做错了什么?

4

3 回答 3

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 以查看日期是如何注册的。

于 2012-10-16T18:00:40.313 回答
0

您的 html 中有 utf 字符,您可以做很多事情,最好是调整 php 页面顶部的标题 .... 就像上面提到的 coursesweb。

如果您不了解标头,则必须在将任何内容发送回浏览器之前发送它们,因此如果不是第一行,它应该确实位于顶部。

于 2012-10-16T18:12:27.953 回答
0

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

于 2012-10-16T23:22:11.823 回答