特殊字符变成问号php html

特殊字符变成问号php html,php,html,character-encoding,character,meta-tags,Php,Html,Character Encoding,Character,Meta Tags,我阅读了stackoverflow和其他论坛上的所有主题,它托管在hostgator上,我以前从未与他们的服务器发生过问题,尽管引用例如被转换为问号,普通的引用没有黑钻石或任何东西。以下是我尝试过的: header('Content-Type: text/html; charset=utf-8'); 及 这是我在doctype中使用的,如果这很重要的话: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN&quo

我阅读了stackoverflow和其他论坛上的所有主题,它托管在hostgator上,我以前从未与他们的服务器发生过问题,尽管引用例如被转换为问号,普通的引用没有黑钻石或任何东西。以下是我尝试过的:

 header('Content-Type: text/html; charset=utf-8');


这是我在doctype中使用的,如果这很重要的话:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

我使用Unitron for osx来编写代码,并检查了文件是否应包含utf-8

我试图显示的文本只是php页面中的html


有人知道如何帮助我吗?

您应该使用它将文本中的任何实体转换为html实体;例如,版权标志将变成©
©

只是一个猜测:检查html中的引号是否真的是引号。它们可以是一些看起来相同但实际上不同的其他角色。从其他来源复制粘贴时可能会发生这种情况

尝试手动重写导致问题的部分代码

如果不是这样,请尝试使用以下一个或两个php函数:


此外,您的HTML无效:

检查您的文件是否以UTF8编码,例如使用记事本++转到“编码”>“转换为UTF8”并保存文件。

您是在谈论用户输入吗?您是否将其存储在数据库中?什么时候“变成问号”?这个问题需要添加很多细节。你能提供问题页面的链接吗?引号转换成问号?尝试使用stripslashes()或mysql\u real\u escape\u string()…请提供更多信息。不是用户输入,只是php页面中的html输出实际上不是php生成此文本,而是html,它只是在php页面中。如果包含特殊字符的内容不是动态的,您可以将其通过此函数一次,然后将输出粘贴到html页面中。这样,您就不会对每个请求都调用这个函数,从而减少了延迟。但是,正确的选项是:“转换为不带BOM的UTF-8”
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">