Can mysql latin1 also support Chinese and Emoji characters?

  mysql, question

How can latin1 in mysql save Chinese and Emoji characters? As follows:

bashMySQL > show variables like' character percentage';
 Plus-plus-plus-plus
 | Variable_name            | Value                                 |
 Plus-plus-plus-plus
 | character_set_client     | latin1                                |
 | character_set_connection | latin1                                |
 | character_set_database   | latin1                                |
 | character_set_filesystem | binary                                |
 | character_set_results    | latin1                                |
 | character_set_server     | utf8mb4                               |
 | character_set_system     | utf8                                  |
 | character_sets_dir       | /opt/mysql/server-5.6/share/charsets/ |
 Plus-plus-plus-plus
 mysql> show create table t4\G
 *************************** 1. row ***************************
 Table: t4
 Create Table: CREATE TABLE `t4` (
 `data` varchar(100) DEFAULT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
 Mysql> insert into t4 select '\U plus 1F600';
 Mysql> insert into t4 select' You';

Since segmentfault does not support Emoji characters, we have to take a screenshot.
图片描述

In my impression, only utf8mb4 supports Emoji characters and Chinese also need utf8. how can I get it done with latin1 now? is that my mistake?

Drill down on mysql Character Set Settings

  1. MySQL Server converts the request data from character_set_client to character _ set _ connection when receiving the request;
  2. The request data is converted from character_set_connection to the internal operation character set before the internal operation is performed, and the determination method is as follows:
    Use the CHARACTER SET setting for each data field;
    If the above value does not exist, use the DEFAULT CHARACTER SET setting value of the corresponding data table (MySQL extension, non-SQL standard);
    If the above value does not exist, the DEFAULT CHARACTER SET setting value of the corresponding database is used;
    If the above value does not exist, the character_set_server setting value is used.
  3. Converts the operation result from the internal operation character set to character_set_results.

Here is an article:Mysql utf8mb4 and emoji expressions