这个字符串我从mysql复制并发布到这里自动成为表情符号图标,小霸王😎
但是,当我用php回显这个字符串时,就变成小霸王了?。
为什么?
这就是我从mysql代码中选择的方式
<?php
$Recordset1 = new WA_MySQLi_RS("Recordset1",$locahost,0);
$Recordset1->setQuery('SET character set utf8mb4');
$Recordset1->setQuery('SET NAMES utf8mb4');
$Recordset1->setQuery(
"
SELECT tbl_trans.trans_username,
Sum(Case When tbl_trans.trans_type <> 'REWARD' AND tbl_trans.trans_winlose <> 'QB' then
trans_winloseamount Else 0 End) BETHOST,
Sum(Case When tbl_trans.trans_winlose = 'QB' then
trans_winloseamount Else 0 End) QB,
Sum(Case When tbl_trans.trans_type = 'REWARD' then
trans_winloseamount Else 0 End) REWARD ,
Sum(Case When tbl_trans.trans_type <> '' then
trans_winloseamount Else 0 End) NETWINLOSE
FROM tbl_trans
WHERE (trans_datetime > '".$datefrom. " 14:00:00' AND trans_datetime < '".$dateto." 12:00:00')
GROUP BY trans_username");
$Recordset1->execute();
?>`
和 .php html 文件 <meta charset='utf-8'>
我已经尝试过header('Content-type: text/plain; charset=utf-8')
和
ALTER DATABASE wxbot_backup CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE tbl_trans CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tbl_trans charset=utf8mb4, MODIFY COLUMN trans_username VARCHAR(45) CHARACTER SET utf8mb4
还有一件事我无法将其设置为 utf8mb4
mysql> SHOW VARIABLES LIKE 'character_set%'; SHOW VARIABLES LIKE 'collation%';
+--------------------------+----------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+----------------------------------------------------
-----+
| character_set_client | gbk
|
| character_set_connection | gbk
|
| character_set_database | utf8
|
| character_set_filesystem | binary
|
| character_set_results | gbk
|
| character_set_server | utf8
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.6\share\chars
ets\ |
+--------------------------+----------------------------------------------------
-----+
8 rows in set (0.00 sec)
以及如何设置character_set_client
到 utrfmb4 ?我使用的是 Windows 7
问题是什么?
mysql 看起来像这样
最佳答案
使用 PHP 代码解决问题
$locahost->set_charset('utf8mb4');
关于php echo emoji 变成问号,但是粘贴到这里就可以了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42257963/