简体   繁体   中英

Yii 2 not rendering emojis from mysql database

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

Change the collation of the connection to 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM