我使用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查询没有收到正确的数据。
有没有人有任何想法?我全力以赴。
答案 0 :(得分:0)
我找到了答案:
我需要把$ mysqli-> set_charset(" utf8");在代码的开头,假设告诉连接也是UTF-8字符集。
$ mysqli是保存"新mysqli()"的字符串。数据