java处理数据库不支持的emoji表情符问题解决

 更新时间:2019年09月17日 11:09:31   作者:冰湖一角  
这篇文章主要介绍了java处理数据库不支持的emoji表情符问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一般数据库的编码是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分布式架构下如何实现分布式锁

    浅谈Java分布式架构下如何实现分布式锁

    这篇文章主要介绍了浅谈Java分布式架构下如何实现分布式锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Mybatis之#{}与${}的区别使用详解

    Mybatis之#{}与${}的区别使用详解

    这篇文章主要介绍了Mybatis之#{}与${}的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Java设计模式之创建者模式详解

    Java设计模式之创建者模式详解

    这篇文章主要介绍了Java设计模式之创建者模式详解,创建者模式,顾名思义,就是提供友好的创建对象的方式 ,对象都是 new 出来的,但是在一些情况下,这种方式不是很友好,首先,它不够直观,需要的朋友可以参考下
    2023-08-08
  • Java实现上传Excel文件并导入数据库

    Java实现上传Excel文件并导入数据库

    这篇文章主要介绍了在java的基础上学习上传Excel文件并导出到数据库,感兴趣的小伙伴不要错过奥
    2021-09-09
  • mybatisPlus实现逻辑删除,自动生成创建时间和更新时间方式

    mybatisPlus实现逻辑删除,自动生成创建时间和更新时间方式

    MyBatisPlus框架中,通过@TableField(fill=FieldFill.INSERT)和@TableField(fill=FieldFill.UPDATE)注解可以实现在插入和更新时自动填充字段,比如创建时间和更新时间,使用@TableLogic注解标识逻辑删除字段
    2024-09-09
  • java动态方法调度实例分析

    java动态方法调度实例分析

    这篇文章主要介绍了java动态方法调度,结合实例形式对比分析了java的动态方法调度原理、使用方法与注意事项,需要的朋友可以参考下
    2016-06-06
  • java多线程数据分页处理实例讲解

    java多线程数据分页处理实例讲解

    在本篇内容里小编给大家分享了一篇关于java多线程数据分页处理实例讲解内容,有兴趣的朋友们可以学习下。
    2021-01-01
  • 基于Spring AOP的Log收集汇总

    基于Spring AOP的Log收集汇总

    张三针对公司现有日志处理系统的不足,采用了SpringAOP技术和Redis存储,设计并实现了一个性能更高效的日志处理系统,该系统通过SpringAOP的切面拦截功能,捕获方法调用信息作为日志内容,并将其统一格式化后存储到Redis中
    2024-10-10
  • spring 参数校验Validation示例详解

    spring 参数校验Validation示例详解

    Spring提供了Validation工具类来实现对客户端传来的请求参数的有效校验,本文给大家介绍spring 参数校验Validation示例详解,感兴趣的朋友一起看看吧
    2024-12-12
  • Java中字符串常见的拼接方式小结

    Java中字符串常见的拼接方式小结

    在Java中,字符串拼接是开发过程中非常常见的操作,根据不同的需求和性能考虑,有多种方式可以实现字符串的拼接,本文给大家介绍了五种拼接方式,并通过代码讲解的非常详细,需要的朋友可以参考下
    2024-10-10

最新评论