PHP/Codeigniter 中的 UTF-8 特殊字符显示不正确

UTF-8 Special Characters in PHP/Codeigniter not displaying correctly

我在一个朋友的网站上工作,他抱怨说他无法在他的产品页面上输入英镑,而是显示为带有 ? 的黑色方块。其中 (�)

我已经在代码中挖掘了 2 天了,但无法找到罪魁祸首。

我有一个 MySQL 数据库,其中包含所有数据。 DB和table/field都设置为:utf8_general_ci

查看 PHPMyAdmin 中的一条记录,如预期的那样记录 shoes £。

但是,当查看前端时,£ 显示为一个黑色方块,旁边有一个问号。

由于浏览器不知道它是 UTF-8 字符,所以我在多个地方阅读,所以我检查了所有页面的标签中都包含以下内容:

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

我可以让它正确显示的唯一方法是通过浏览器将编码更改为 ISO-8859-1 或修改上述元标记以反映 ISO -8859-1:

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

有人能帮我解决下一步该怎么做吗?

感谢您的帮助

在输出时将此用于变量

$var = "£";
echo utf8_encode($var);

并确保您的

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

在header