空格PHP的奇怪编码

空格PHP的奇怪编码,php,encoding,utf-8,Php,Encoding,Utf 8,我有一个看似普通的字符串(不存储在DB中),还有许多类似的字符串,如下所示: 2 40,802 40,802 Nanatsu no Taizai OP “Seven Deadly Sins” 我正试图从中提取数据,不幸的是,explode或任何PHP函数似乎都无法正常工作,我对此进行了回应,以找出原因: echo $string; Output: 2 40,802 40,802 Nanatsu no Taizai OP “Seven Deadly Sins†echo

我有一个看似普通的字符串(不存储在DB中),还有许多类似的字符串,如下所示:

2 40,802 40,802 Nanatsu no Taizai OP “Seven Deadly Sins”
我正试图从中提取数据,不幸的是,explode或任何PHP函数似乎都无法正常工作,我对此进行了回应,以找出原因:

echo $string;    
Output: 2 40,802 40,802 Nanatsu no Taizai OP “Seven Deadly Sinsâ€
echo utf8_decode($string);
Output:  2?40,802?40,802?Nanatsu no Taizai OP ?Seven Deadly Sins?
html_entity_decode不会更改任何内容并分解(“?”,$string);uft8之后,U解码返回一个空数组。如果没有欧元货币和到处都是“?”字符,我如何让字符串恢复正常?为什么它们会出现在第一位?

这是修复方法:

header("content-type: text/html; charset=UTF-8")

该信息是否存储在数据库中?如果是,那么原因是因为数据库中该表的字符编码集。不,我只是从一个站点复制了一些文本。HTML文档上的字符集是什么?复制的很好,我复制的很有趣,当我把它粘贴到我的代码编辑器中时,它就很好了。但当我像这样回显时:$string=