emoji表情代码

MySQL保存 emoji 表情(微信昵称表情)

旧时模样 提交于 2020-03-25 15:44:21
问题分析 在微信开发过程中,总是会遇到 带有emoji表情昵称 的微信用户无法自动登录的问题。 后台代码抛出类似下面的异常信息。 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for colum n 'name' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java

通过 Emoji 表情标识 Git 每次提交的信息

家住魔仙堡 提交于 2020-01-19 19:19:15
在 Git 提交时我们可以通过附加 emoji 表情来着重提醒其他开发人员本次地更改重点,也就是说我们可通过不同的表情可以快速地知道这次提交具体做了哪方面地工作。 比如说本次提交我添加了一个新的单元测试,那么我在 Git 的 Commit 里面就可以通过在第一行添加 :white_check_mark: (✅ )来表示本次提交的重点。 :white_check_mark: 添加了用户创建功能的单元测试代码; 效果大概就是这个样子: 在 gitmoji 的网站上一共罗列了以下 emoji 表情与其对应的含义。 Emoji 表情代码 图标预览 含义 :art: 🎨 改进代码的结构与格式. :zap: ⚡ 性能提升. :fire: 🔥 删除了代码/文件. :bug: 🐛 修复了某些 Bug. :ambulance: 🚑 重要的问题修复. :sparkles: ✨ 新的功能与特性. :memo: 📝 增加项目文档. :rocket: 🚀 项目部署相关的提交. :lipstick: 💄 更新 UI 与样式文件. :tada: 🎉 首次提交. :white_check_mark: ✅ 添加测试用例. :lock: 🔒 修复安全相关的问题. :apple: 🍎 修复了在 macOS 系统上的某些问题. :penguin: 🐧 修复了在 Linux 系统上的某些问题. :checkered

如何让应用程序支持emoji

牧云@^-^@ 提交于 2020-01-19 04:05:40
什么是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%';

MySql 怎么存取 Emoji

空扰寡人 提交于 2019-12-04 07:56:06
01、前言 Emoji 在我们生活中真的是越来越常见了,几乎每次发消息的时候不带个 Emoji,总觉得少了点什么,似乎干巴巴的文字已经无法承载我们丰富的感情了。对于我们开发者来说,如何将 Emoji 存入 MySql 数据库或者取出来,就变成了一种必须掌握的技能了。 Emoji 是一种图形符号,能够很直观地反应出某种文字含义。它让我想起远古时代的象形文字。 1 16.3 KB Emoji 其实是一个日语词(えもじ), E 表示"絵", moji 表示"文字";连在一起就是"絵文字",可以更形象化地表情达意。 02、糟糕 如果我们直接将 Emoji 表情存入数据库的话,通常会出现下面这个错误。 1 6.1 KB 因为数据库的字符编码一般是 utf8(支持的编码范围为 \u0000-\uFFFF ),而 Emoji 所在的编码范围是 \u1F601-\u1F64F ,超出 MySql 的边界了。 怎么解决这个问题呢? 03、utf8mb4 可以将 MySql 的字符集由 utf8 调整为 utf8mb4。utf8mb4 是 MySql 在 5.5.3 版本之后增加的一个编码方式,用来兼容四字节的 Unicode(包括 Emoji)。 理论上,utf8mb4 是 utf8 的超集,其中 mb4 是 most bytes 4 的意思,将字符集修改为“utf8mb4”,并不会对已有的

MySQL 支持 emoji 图标存储

╄→尐↘猪︶ㄣ 提交于 2019-12-03 21:14:36
在MySLQ中 UPDATA 和 INSERT 数据的时候,如果数据上面带有emoji图标,例如:?、?、? 很容易更新或者插入不成功,导致报错。 1 2 Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'name' at row 都快崩溃了,但是还好终于解决了这种鬼问题。资料显示原因是,MYSQL 5.5 之前, UTF8 编码只支持1-3个字节,只支持BMP这部分的unicode编码区,而emoji图标恰好是4个字节的编码进行存储。从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4,一个字符最多能有4字节,所以能支持更多的字符集。所以要解决问题,必需把数据库表字符编码全部改成utf8mb4。 推荐: mysql视频教程 常用字符集 ASCII:美国信息互换标准编码;英语和其他西欧语言;单字节编码,7位表示一个字符,共128字符。 GBK:双字节,汉字内码扩展规范;中日韩汉字、英文、数字;双字节编码;共收录了21003个汉字,GB2312的扩展。 UTF-8:Unicode标准的可变长度字符编码;Unicode标准(统一码),业界统一标准,包括世界上数十种文字的系统; UTF-8

记录下emoji的处理

拟墨画扇 提交于 2019-12-03 10:02:05
emoji表情是啥就不具体介绍了,主要记住一点就是emoji是使用4字节来表示的,具体的unicode码可以查看 这里 ,所以在显示存储的时候就跟普通的字符大有不同。 项目中原先没有考虑到emoji表情的存在,导致问题的出现,在存储时,使用的字符编码集就是utf-8编码,utf-8编码虽然是使用1-6个变长子节表示的,但是在mysql中是使用3子节表示的,刚好没发表示emoji表情,处理方法最简单的当然是修改mysql的配置,utf-8改为utf-8mb4编码,当然表的字符编码,数据库连接的编码都需要修改,但是线上的数据库修改比较麻烦,风险较大,这种方法应该在设计初比较适合,但是中后期不适合,pass。 然后就是不考虑emoji表情,直接删除掉,很简单,直接使用正则表达式,匹配替换,在网上找了几个代码,都是可以使用的, public static function remove_emoji($text){ //直接去除 return preg_replace('/([0-9|#][\x{20E3}])|[\x{00ae}|\x{00a9}|\x{203C}|\x{2047}|\x{2048}|\x{2049}|\x{3030}|\x{303D}|\x{2139}|\x{2122}|\x{3297}|\x{3299}][\x{FE00}-\x{FEFF}]?|[\x{2190}-\x

Java | Emoji表情写入数据库时报错问题解决,Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F...' for column | Java

匿名 (未验证) 提交于 2019-12-02 21:53:52
原因:这个问题的主要原因就是MySQL使用的是ut8编码,utf8编码默认每个字符3个字节,而Emoji表情使用的Unicode编码占4个字节,所以写入数据库的时候会写入失败并报错。 解决办法: 二、在需要写入Emoji表情的表对应Dao层加一个方法,代码如下: @Update("set names utf8mb4") public void setCharsetToUtf8mb4(); 三、在调用写入方法之前,先调用此方法。 这样就可以把Emoji表情写入数据库了,并且可以成功的读取出来。 文章来源: Java | Emoji表情写入数据库时报错问题解决,Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F...' for column | Java

Java 替换emoji表情

匿名 (未验证) 提交于 2019-12-02 21:45:52
mysql 什么样的字符集可以存储emoji utf8mb4 属于utf8的超集,具有utf8的属性,也更完善 utf8只能最大存储3个字节,而emoji为四个字符,utf8mb4可以存储4个字节 替换代码: public static String replaceEmoji(String source) { if (source != null) { Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]", Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE); Matcher emojiMatcher = emoji.matcher(source); if (emojiMatcher.find()) { source = emojiMatcher.replaceAll("*"); return source; } return source; } return source; } 其中 Pattern.CASE_INSENSITIVE 为启用不区分大小写的匹配。 在这里只描述下我知道的Java中应用正则的例子: 1、String String.replaceAll(String

mysql utf8mb4与emoji表情

你说的曾经没有我的故事 提交于 2019-12-02 03:03:22
MYSQL 5.5 之前, UTF8 编码只支持1-3个字节,只支持BMP这部分的unicode编码区, BMP是从哪到哪,到 http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters 这里看,基本就是0000~FFFF这一区。 从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4,一个字符最多能有4字节,所以能支持更多的字符集。 utf8mb4 is a superset of utf8 utf8mb4兼容utf8,且比utf8能表示更多的字符。 至于什么时候用,看你的做什么项目了。。 在做移动应用时,会遇到ios用户会在文本的区域输入emoji表情,如果不做一定处理,就会导致插入数据库异常。 Emoji表情符号兼容方案 一 什么是Emoji emoji就是表情符号;词义来自日语(えもじ,e-moji,moji在日语中的含义是字符)   表情符号现已普遍应用于手机短信和网络聊天软件。   emoji表情符号,在外国的手机短信里面已经是很流行使用的一种表情。   手机上如何使用emoji:   1.iphone、ipad系统:安装emoji free,再设置-通用-键盘-国际键盘-添加新的键盘,然后把emoji添加在里面即可在发短信和一些输入文本的文本框中输入表情。   IOS 5用户可直接从通用中添加emoji

mysql utf8mb4与emoji表情【转】

孤人 提交于 2019-12-02 03:02:54
MYSQL 5.5 之前, UTF8 编码只支持1-3个字节,只支持BMP这部分的unicode编码区, BMP是从哪到哪,到 http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters 这里看,基本就是0000~FFFF这一区。 从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4,一个字符最多能有4字节,所以能支持更多的字符集。 utf8mb4 is a superset of utf8 utf8mb4兼容utf8,且比utf8能表示更多的字符。 至于什么时候用,看你的做什么项目了。。 在做移动应用时,会遇到ios用户会在文本的区域输入emoji表情,如果不做一定处理,就会导致插入数据库异常。 Emoji表情符号兼容方案 一 什么是Emoji emoji就是表情符号;词义来自日语(えもじ,e-moji,moji在日语中的含义是字符)   表情符号现已普遍应用于手机短信和网络聊天软件。   emoji表情符号,在外国的手机短信里面已经是很流行使用的一种表情。   手机上如何使用emoji:   1.iphone、ipad系统:安装emoji free,再设置-通用-键盘-国际键盘-添加新的键盘,然后把emoji添加在里面即可在发短信和一些输入文本的文本框中输入表情。   IOS 5用户可直接从通用中添加emoji