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

PHP/Codeigniter中的UTF-8特殊字符未正确显示,php,mysql,codeigniter,utf-8,Php,Mysql,Codeigniter,Utf 8,我在一个朋友网站上工作,他抱怨说他不能在他的产品页面上输入英镑,相反,这些页面显示为黑色正方形,带有?在他们里面(�) 我已经在代码中翻了两天了,找不到罪犯 我有一个包含所有数据的MySQL数据库。数据库和表/字段都设置为:utf8\u general\u ci 查看PHPMyAdmin的记录,该记录与预期一致 但是,当查看前端时,屏幕显示为一个黑色正方形,旁边有一个问号 由于浏览器不知道它是UTF-8字符,所以我在多个地方阅读了这些内容,因此我进行了检查,所有页面的标签中都包含以下内容: &l

我在一个朋友网站上工作,他抱怨说他不能在他的产品页面上输入英镑,相反,这些页面显示为黑色正方形,带有?在他们里面(�)

我已经在代码中翻了两天了,找不到罪犯

我有一个包含所有数据的MySQL数据库。数据库和表/字段都设置为:utf8\u general\u ci

查看PHPMyAdmin的记录,该记录与预期一致

但是,当查看前端时,屏幕显示为一个黑色正方形,旁边有一个问号

由于浏览器不知道它是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" />


在页眉中

但是,%现在也是URL的一部分,因此当它被查询时,它只会执行302重定向回主页。链接现在显示,%但是当在Chrome中单击链接后查看网络选项卡时,它会显示/product name-%C2%A3,这就是它崩溃的原因。我应该在哪里使用urlencode。对不起,CodeIgniter是对我来说是新的。我认为代码还有其他一些问题,因为chrome正在为您进行url编码。(我认为==%C2%A3)不确定是的,我在谷歌上搜索了它,这是一个符号的值。我猜在搜索数据库之前,它需要转换回英镑。:-/你不应该使用utf8\U编码;还有一些地方出了问题。