php echo emoji 变成问号,但是粘贴到这里就可以了

标签 php emoji

这个字符串我从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

问题是什么?

更新
enter image description here

mysql 看起来像这样

最佳答案

使用 PHP 代码解决问题

$locahost->set_charset('utf8mb4');

关于php echo emoji 变成问号,但是粘贴到这里就可以了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42257963/

相关文章:

css - 如何为表情符号构建可靠的 css 字体堆栈?

sql - 为什么 SQL Server 在处理半表情符号时表现不一致?

php - 正则表达式从具有至少一个数字的文本中提取所有单词

php - Mysql 计数和按日期分组

javascript - 使用twemoji解析 "3 letter"表情符号

mysql - 如何在 Grails 中显示来自数据库的表情符号

javascript - 随机订单号发布到电子邮件

php - Laravel - htmlspecialchars() 期望参数 1 为字符串,给定对象

php - UserCake 迁移 - 管理员帐户/密码未登录

javascript检测一个字符串是否只包含unicode表情符号