MySQL没有返回正确的英镑符号

时间:2018-04-08 05:09:07

标签: php mysql pound

我使用MySQL 5.7.14运行WAMP 3.0.6。一切都使用UFT-8字符集。

我在字段“1£1”(即1(磅)1)中有数据。

我已经检查了服务器(我自己),该字段的十六进制值为:31 C2 A3 31.这是正确的。

我在本地运行查询,它返回正确的数据,其中C2 A3作为井号。

我在PHP中运行查询,它只返回A3,十六进制为31 A3 31.这会使英镑符号成为黑色问号。

如果我运行echo pack(“C *”,194,163);在PHP中,我得到正确的英镑符号。

所以澄清一下: MySQL正在保存正确的数据。 服务器上的查询返回正确的数据。 PHP通过网页将回显十六进制正确的英镑符号。 php.ini设置为UFT-8。 MySQL数据库设置为UFT-8。 为UFT-8设置了HTML。 PHP设置为UFT-8。 PHP查询没有收到正确的数据。

有没有人有任何想法?我全力以赴。

1 个答案:

答案 0 :(得分:0)

我找到了答案:

我需要把$ mysqli-> set_charset(" utf8");在代码的开头,假设告诉连接也是UTF-8字符集。

$ mysqli是保存"新mysqli()"的字符串。数据