zoukankan      html  css  js  c++  java
  • 让应用程序支持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就只能呵呵了

  • 相关阅读:
    BOM-DOM
    JavaScript
    CSS(2)
    CSS(1)
    HTML5
    索引
    数据库多表查询
    数据操作
    数据库表操作
    初识Java
  • 原文地址:https://www.cnblogs.com/zlf344242525/p/7274717.html
Copyright © 2011-2022 走看看