1

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

kevinkt
  • 685
  • 10
  • 22

1 Answers1

6

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
Muhammad Omer Aslam
  • 21,325
  • 8
  • 39
  • 62