我在 PHP 中有一个奇怪的问题,希望有人以前见过。
我将 Æ 字符 (AE) 存储在设置为 utf8 的 MySql 数据库中。我有一个 PHP 应用程序可以在我的本地机器(Windows 7)上的浏览器中正确显示字符,但是当在生产中使用相同的代码和数据库(GoDaddy Linux 主机)时,字符被转换为单个 ASCII 字符( 198),它显示为黑色三角形中的可怕问号。我已经确认两个地方的数据库和代码完全相同。我可以将字节作为数组进行迭代,并看到 MySql 输出的是两个字节,\195\134,但是 PHP 发送的内容在生产环境中以某种方式转换为单个 198。
我已经排除了字符编码的浏览器问题。我在所有使用 utf8 编码的浏览器中都得到了相同的行为。我可以查看原始响应并查看问题。