MySql support two varities of utf-8 character and collation set are utf8mb3(only contains BMP characteres) and utf8mb4(utf-8 characters and supports supplementary characters)
In mysql 4.1 there is latin1 as a default character set and utf8mb3 is available as an option. But an optimization was chosen to limit utf-8 to 3bytes which support all modern languages.
But from mySQL 5.1(2010). Utf8 limit is started to support utf8 characters 4 bytes by using new utf8mb4.
And from now mySQL 8.1 is default character set. It improves the performance greatly and support almost every language even emojis too.
How to use character set utf8mb4 while creating table.
create table abc (a varchar(20)) character set utf8mb4;
To get the name of supported collation_name in your database.
SELECT collation_name FROM information_schema.collations WHERE collation_name LIKE ‘%cs’;
In the BMP, there are the Latin characters and symbols, transcriptions, other European characters and writing systems such as Greek and Cyrillic letters, African and Asian characters like Hiragana and Katakana, diacritical marks, Canadian syllables, Chinese, Japanese and Korean ideographs, symbols, and various other characters. In addition, space for private use of own-defined character is reserved in the BMP