让应用程序支持emoji字符 廖雪峰 / 编程 / 2017-4-20 22:01 / 阅读: 5051 什么是emoji?就是这些表情和符号:
让应用程序支持emoji字符
廖雪峰 / 编程 / 2017-4-20 22:01 / 阅读: 5051
什么是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就只能呵呵了
让应用程序支持emoji字符 廖雪峰 / 编程 / 2017-4-20 22:01 / 阅读: 5051 什么是emoji?就是这些表情和符号:相关推荐
- linux支持表情的字体,让应用程序支持emoji字符
什么是emoji?就是这些表情和符号:
- python在末尾加关闭程序_廖雪峰的Python教程教程-02
廖雪峰的Python教程: Python教程www.liaoxuefeng.com 廖老师的小结: 1) list[],一种有序的集合: 用len()函数可以获得list元素的个数: 索引是从0开始 ...
- 廖雪峰Git简明教程整理
廖雪峰Git简明教程 声明:本教程完全搬运自廖雪峰老师的个人网站,仅限于学习使用.所有版权归廖雪峰老师所有.整理人为Megatron,如果侵权请联系本人zhangwz93@foxmail.com删除. ...
- Java基础知识 廖雪峰教程笔记
Java基础知识 Java基础知识 java简介 名词解释 运行Java程序 Java基本数据类型 模块 包装类型 记录类 异常处理 Java异常 使用Commons Logging 使用log4j ...
- 廖雪峰Python电子书总结
函数 1.注意:函数的默认参数必须指向不可变对象 未修改前: def add_end(L=[]): L.append('END') return L 存在的问题:如果连续调用多次,会出现多个 'END ...
- 【python】廖雪峰学习笔记
廖雪峰python学习笔记 Python解释器 python 基础 输入输出 数据类型和变量 字符串和编码 list和tuple dict和set del删除的是变量,而不是数据 函数 高级特性 函数 ...
- 如何找到python廖雪峰基础_python3 基础 廖雪峰教程笔记-1
廖雪峰教程文档:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143252 ...
- python老师武_跟着廖雪峰老师学python (5)
若想技术精进,当然得把基础知识打得牢牢的. 廖雪峰的官方网站 python3教程,该网站提供的教程浅显易懂,还附带了讲学视频,非常适合初学者正规入门. 以下是通过廖雪峰python官方网站学习的个人 ...
- 廖雪峰老师的Python入门 day01
廖雪峰老师Python入门教程(一) 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合 ...
最新文章
- 那些年,我们一起刷过的计算机视觉比赛
- 目录/文件攻击防范策略研究
- 武装机器狗不会自主杀人,监管自主杀伤性武器是政府的事,机器狗公司CEO这样说...
- ETSI MEC — 容灾组网模型
- JS替换空格回车换行符
- 06/05/2015
- 百度seo指南_什么是SEO?网站怎么做SEO优化(问答篇)
- The Digits String
- python中def _init_是什么意思_详细解读Python中的__init__()方法
- 《风暴英雄》里那些超棒的游戏设计
- serverless搭建html,基于ServerLess的极简网页计数器:源码分析与实践
- 使用NavigationUI更新UI组件
- Gensee移动SDK之(一)结构组成
- php环境苹果搭建,mac下搭建php环境
- cv2.cornerHarris()详解 python+OpenCV 中的 Harris 角点检测
- linux配置libpng环境变量_不同操作系统下 jdk 的配置
- 特征选择 ReliefF算法
- mysql基础之mariadb库管理和表管理语句
- ai能不能同时切割多个对象_今天才发现,AI有这9个隐藏技能...
- 关于MinGW和MSYS
热门文章
- 操作系统中的用户空间和内核空间
- 剑指offer (02):实现 Singleton 单例模式 (Python 实现详解)
- input的一些使用方法
- 灵活强大的MySQL代理中间件ProxySQL应用实战(2)
- python三层设计_推荐3个Python实现算法和设计模式的工具
- python zlib module_python 安装 setuptools Compression requires the (missing) zlib module 的解决方案...
- Lambda表达式的生动理解以及Java Lambda表达式常见使用场景
- 安卓添加滚轮代码_[按键精灵手机版教程]安卓实战——制作天天酷跑脚本(2)...
- android udp获取ip,安卓开发 局域网UDP获取服务器Ip地址
- 郑州大学Oracle期末,郑州大学软件学院2011到2012学年第二学期Oracle期末试卷.doc