如何让应用程序支持emoji

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让应用程序支持emoji相关的知识,希望对你有一定的参考价值。

什么是emoji?就是这些表情和符号:

??????????????????

自iPhone从ios 5在输入法中开始支持emoji以来,这些表情符号迅速风靡世界。但是很多Web网站竟然还不!支!持!!!

那怎么才能支持emoji呢?其实代码一行都不用改,因为emoji符号实际上是文本,并不是图片,它们仅仅显示为图片而已。而且,emoji符号已经被标准化并编码到最新的Unicode标准中了,所以,要支持emoji,只需要底层软件系统支持就可以了。

服务器端要正确存储emoji符号,只需要确保Web程序和底层数据库能支持最新的Unicode标准就可以了。

如果使用mysql作为数据库,需要升级到5.5.3或更新的版本,然后,把默认编码从原来的utf8改为utf8mb4,在my.cnf或者my.ini配置文件中修改如下:

[client]
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server     = utf8mb4_general_ci

重启MySQL,然后使用以下命令查看编码,应该全部为utf8mb4(character_set_filesystem和character_set_system除外):

mysql> show variables like %char%;
+--------------------------+--------------------------+
| Variable_name            | Value                    |
+--------------------------+--------------------------+
| character_set_client     | utf8mb4                  |
| character_set_connection | utf8mb4                  |
| character_set_database   | utf8mb4                  |
| character_set_filesystem | binary                   |
| character_set_results    | utf8mb4                  |
| character_set_server     | utf8mb4                  |
| character_set_system     | utf8                     |
| character_sets_dir       | /usr/local/mysql-5.7.... |
+--------------------------+--------------------------+
8 rows in set (0.00 sec)

使用命令查看collation设置,应该全部是utf8mb4_general_ci

mysql> show variables like %coll%;
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database   | utf8mb4_general_ci |
| collation_server     | utf8mb4_general_ci |
+----------------------+--------------------+
3 rows in set (0.01 sec)

如果character_set_database还是为utf8,需要重启服务器。

现在,MySQL就可以正确存储emoji字符了。

Web软件

要支持emoji,需要Web软件也支持。目前,已知支持emoji的包括:

  • Java 8
  • Node

最后,如果你的Web应用程序没有使用标准的UTF-8编码,而是使用了GBK等编码,想要支持emoji就只能呵呵了

 

 

转自廖雪峰的官方网站  https://www.liaoxuefeng.com/article/00145803336427519ae82a6c5b5474682c0c4ba5b47fb33000

以上是关于如何让应用程序支持emoji的主要内容,如果未能解决你的问题,请参考以下文章

教你如何让数据库支持emoji表情符存储

让mysql支持emoji表情

如何在 React App 中显示 Emoji

让MySQL支持emoji表情

让MySQL支持emoji表情

让mysql支持emoji表情