Emoji works in a site but not in the other site on the same host
First I SUGGEST to take a look at https://www.drupal.org/project/utf8mb4_convert module

try to adding   'charset' =&gt; 'utf8mb4',
  'collation' =&gt; 'utf8mb4_general_ci', configs to your settings.php file.

after adding it should be something like : 

$databases['default']['default'] = array(
  'driver' =&gt; 'mysql',
  'database' =&gt; 'databasename',
  'username' =&gt; 'username',
  'password' =&gt; 'password',
  'host' =&gt; 'localhost',
  'charset' =&gt; 'utf8mb4',
  'collation' =&gt; 'utf8mb4_general_ci',
);


if it does not work for you, probably you need to change MySQL configs. use the following config in your MySQL configuration ( usually my.cnf or my.ini)

# Use UTF8MB4 as the character set
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4


another suggestion:

ALTER DATABASE dbname CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
SELECT CONCAT('ALTER TABLE `', TABLE_NAME,'` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') AS mySQL
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA= "dbname"
AND TABLE_TYPE="BASE TABLE"


FINAL STEP to make the warning go away and get a clean Status Report:

USE YOURDATABASENAME;INSERT INTO variable SET name='drupal_all_databases_are_utf8mb4', value='b:1;';


my.ini or my.cnf
add:

[mysqld]
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=true


settings.php

  'charset' =&gt; 'utf8mb4',
  'collation' =&gt; 'utf8mb4_general_ci',