由于MySQL设计的编码不合理,默认utf8是不能存储emoji表情的,会报错。
1 修改MySQL表的数据集
alter table tbl_xxx character set utf8mb4;
2 修改yaml配置
datasource:
tomcat:
initSQL: SET NAMES utf8mb4
url: jdbc:mysql://xxxxxx-writer:3306/xxxx?Unicode=true&character[......]
由于MySQL设计的编码不合理,默认utf8是不能存储emoji表情的,会报错。
1 修改MySQL表的数据集
alter table tbl_xxx character set utf8mb4;
2 修改yaml配置
datasource:
tomcat:
initSQL: SET NAMES utf8mb4
url: jdbc:mysql://xxxxxx-writer:3306/xxxx?Unicode=true&character[......]
http://stackoverflow.com/questions/38408645/swift-regex-to-match-unicodes
The Unicode code point of the emoji you have shown is U+1F600.
(Unicode 9.0 Character Code Charts - Emoticons)
And your regex pattern (which may work for UTF-16 repres[......]
实际上和Android也没太多关系,主要是数据库没有升级,导致没法存储emoji。另外即使存储了,在其他设备上也不一定能展示出来,所以干脆就过滤掉。
这个与Android无太大关系,主要是获取Emoji表情的unicode范围,不查不知道,一查吓一跳,尼玛这么多。。。网上给出的其他方案,大体上都是选了一个大概的区间,可能会多过滤,也可能漏掉不少。
见这个网址。
http://apps.timwhitlock.info/emoji/tables/unicode
下面是代码,[......]