2

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
  • 735
  • 12
  • 24

1 Answers1

9

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
  • 22,976
  • 9
  • 42
  • 68