dsa88886666 2018-08-01 01:47
浏览 55
已采纳

Yii 2没有从mysql数据库渲染表情符号

I have a Yii 2 app and emojis are not rendering when I grab data from the database. It is storing inside my database fine as an emoji, but not in my view. It's returning as a ? character.

In my head I have

<meta charset="utf-8">

Am I missing something?

SOLUTION

Go into your db config file (where you set up your db name and password) and change charset to utf8mb4

  • 写回答

1条回答 默认 最新

  • doutao1282 2018-08-01 02:19
    关注

    Change the collation of the connection to the utf8mb4 in your config file under the database component configuration like below

    'db'=>[
        'class' => 'yii\db\Connection' ,
        'dsn' => 'mysql:host=127.0.0.1;dbname=db_name' ,
        'username' => 'username' ,
        'password' => 'password' ,
        'charset'=>'utf8mb4'
    ]
    

    or change the table collation configuration in the database

    ALTER TABLE Tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?