一般数据库的编码是utf8,utf8是不支持存储表情符的,当存入的微信昵称带有表情符时就会出现乱码情况,有两种解决方法:

1.mysql数据库升级到5.5版本以上,utf8改为utf8mb4,utf8mb4的字符最多可以是4个字节,可以存储表情符,重启数据库服务器,这种方式有可能会失效;

2.在java代码里过滤掉表情符,简洁高效,下面是过滤掉表情符的工具类:

import java.util.regex.Matcher;
import java.util.regex.Pattern; public class EmojiUtil { public static String replace(String input) {
if (!StringUtil.isEmpty(input)) {
String patternStr = "[^\\u0000-\\uFFFF]";
Pattern pattern = Pattern.compile(patternStr, Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(input);
input = matcher.replaceAll("");
}
return input;
}
}

java处理数据库不支持的emoji表情符的更多相关文章

  1. java处理数据库不支持的emoji

    一般数据库的编码是utf8,utf8是不支持存储表情符的,当存入的微信昵称带有表情符时就会出现乱码情况,有两种解决方法: 1.mysql数据库升级到5.5版本以上,utf8改为utf8mb4,utf8 ...

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

    From: http://www.cnblogs.com/janehoo/archive/2016/04/06/5359800.html 一.教你如何让数据库支持emoji表情符存储 解决方式:更换字 ...

  3. mysql支持emoji表情符存储

    一.教你如何让数据库支持emoji表情符存储 解决方式: 更换字符集utf8-->utf8mb4 问题描述: 前台应用抓取微博信息,每天总有几条数据插入不成功.应用日志显示: java.sql. ...

  4. emoji表情符处理替换成空格

    /**    * 用filterOffUtf8Mb4    * Description: 过滤率四个字节的utf-8字符(emoji表情符),替换成四个空格.    *         四字节utf- ...

  5. appium----adb shell输入中文/Emoji表情符(ADBKeyBoard)

    前序 “adb shell input textyoyo“ 可以通过adb 输入英文的文本,由于不支持unicode编码,所以无法输入中文,github上有个国外的大神写了个ADBKeyBoard输入 ...

  6. 过滤emoji表情符

    1.使用正则匹配 public  function remove_emoji($text){        return preg_replace('/([0-9|#][\x{20E3}])|[\x{ ...

  7. js处理表情字符且让数据库支持emoji表情符存储

    数据库处理 更换字符集utf8-->utf8mb4 JS处理 将表情转为字符: function utf16toEntities(str) { var patt=/[\ud800-\udbff] ...

  8. 数据库需要支持emoji表情

    由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...

  9. 【java】【mysql】存储微信表情emoji表情

    java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for colum n 'name' at row 1 at com ...

随机推荐

  1. Android面试准备20190422

    1.即时推送原理,采用的push推送模式,保持一个长连接,服务端和客户端连接后不再断开.所谓长连接,即是在一个TCP上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发送检测 ...

  2. java搭建SSM的Web开发框架-整合这3者用到的配置文件

    1./WEB-INF/web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmln ...

  3. 10.Redis分布式集群

    10.Redis分布式集群10.1 数据分布10.1.1 数据分布理论10.1.2 Redis数据分区10.1.3 集群功能限制10.2 搭建集群10.2.1 准备节点10.2.2 节点握手10.2. ...

  4. 原生js简单轮播图 代码

    在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程.当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用 ...

  5. python websocket 客户端连接

    # -*- coding: utf-8 -*-import jsonimport websocketimport _thread as thread # try:# import thread# ex ...

  6. 你电梯没了—OO第二单元作业思考

    写在前面 这三次电梯调度作业,主要是学习多线程并行操作,对于各个线程的时间轴的把握,互相的配合与影响,通过使用锁来解决访问冲突等方面. 个人在学会Thread相关操作之外,写出来一些奇怪结构的诡异操作 ...

  7. PackageManagerService 学习记录 基于7.1.1源码

    参考: http://blog.csdn.net/innost/article/details/47253179 http://blog.csdn.net/gaugamela/article/deta ...

  8. git服务搭建以及本地连接

    服务器系统:centos6.5 本地系统:Mac 10.11 注意事项:本地git和服务器版本最好一样,centos上面的yum install git版本是1.7的,需要手动在下载,并手动编译 下载 ...

  9. 一个jar包冲突引起的StackOverflowError

    项目运行中错误信息:java.lang.IllegalStateException: Unable to complete the scan for annotations for web appli ...

  10. poi实现Excel文件的读取

    1.前端代码 $("#upload").on('click', function() { var formData = new FormData(); var name = $(& ...