1 
                    
                    vibbow      2019-11-16 21:43:37 +08:00 
                    
                    你连接用的编码呢? 
                 | 
            
     2 
                    
                    wangyzj      2019-11-16 22:22:59 +08:00 
                    
                    把 ThinkPHP3 编码配置改为 utf8mb4_general_ci 
                 | 
            
     3 
                    
                    l890908   OP @vibbow 连接编码是默认的 utf8 -》'DB_CHARSET'            => 'utf8',      // 数据库编码默认采用 utf8 
                输出编码也是 utf-8 'DEFAULT_CHARSET' => 'utf-8', // 默认输出编码  | 
            
     5 
                    
                    renmu      2019-11-17 00:17:20 +08:00 via Android 
                    
                    随便提个猜想,机器字体不支持 
                 | 
            
     6 
                    
                    also24      2019-11-17 00:49:04 +08:00 
                    
                    『数据库编码是 utf8mb4_general_ci 』 
                是否有检查具体的表和字段的编码?  | 
            
     7 
                    
                    vibbow      2019-11-17 01:28:59 +08:00 
                    
                    连接编码需要是 utf8mb4 
                 | 
            
     9 
                    
                    mamahaha      2019-11-17 09:48:06 +08:00 
                    
                    皮裤套棉裤,必定有缘故 
                 | 
            
     10 
                    
                    heart4lor      2019-11-17 10:51:04 +08:00 
                    
                    数据库、表、字段、连接编码都用 utf8mb4 
                 | 
            
     11 
                    
                    vjnjc      2019-11-17 21:50:39 +08:00 
                    
                    你要 connection 使用 utf8mb4 才能正确读出 emoj,所以要把编码改成 utf8mb4,在这个基础上解决问题。 
                我怀疑是你以前用了 utf8 写入了大部分数据,使得他没法用 utf8mb4 的方式读出来,那么你把所有数据洗一下吧(只是一个猜测  | 
            
     13 
                    
                    qsbaq      2019-11-18 09:09:07 +08:00 
                    
                    utf8mb4 正解 
                 |