kevinkt
kevinkt

Reputation: 745

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

Upvotes: 2

Views: 2101

Answers (1)

Muhammad Omer Aslam
Muhammad Omer Aslam

Reputation: 23738

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

Upvotes: 11

Related Questions