我找到了解决方案
显然 hostgator phpmyadmin 上没有 UTF-8 标头。
最近我将我的网络论坛从开发本地机器转移到生产服务器(Hostgator,共享),但是发生了一些奇怪的事情,每次我们从数据库中提取数据并显示它时,我们都会得到替换字符来代替特殊的葡萄牙语字符( á、é、ê、ó、ç 等),即使数据库设置为使用 UTF-8(在数据库、表、行和连接上)。当我们将完全相同的字符串传递给 amb_detect_encoding
时,它表示它是一个有效的 UTF-8 字符串。
使数据库中的数据正确显示的唯一方法是<meta charset="utf8">
从 HTML 中删除 ,但随后所有其他特殊字符(来自不是来自数据库的文本)都会出现乱码。
HTML 发生了什么?
PHP 5.2
MySQL 5.5.30-30.2
关于可能重复的问题,我(当然,就个人而言)认为它不合适,因为其他问题假定先验知识并使用文本编码。