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

作者:冰湖一角 时间:2021-08-21 00:16:58 

一般数据库的编码是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;
 }
}

来源:https://www.cnblogs.com/bingyimeiling/p/8940712.html

标签:java,数据库,emoji,表情,符
0
投稿

猜你喜欢

  • Spring Boot产生环形注入的解决方案

    2023-11-08 20:14:04
  • 探讨:android项目开发 统筹兼顾 需要考虑的因素

    2023-08-05 11:21:32
  • Java多线程编程中使用Condition类操作锁的方法详解

    2023-10-19 13:30:55
  • Java中后台线程实例解析

    2022-01-05 06:45:08
  • Java使用ArrayList实现扑克牌的示例代码

    2021-10-29 15:17:17
  • 详解Java变量与常量

    2023-11-09 21:00:14
  • Java 根据网址查询DNS/IP地址的方法

    2023-06-21 15:31:54
  • 详解Java中运算符及用法

    2023-11-29 08:17:57
  • 详解Java设计模式编程中的访问者模式

    2023-11-28 01:00:43
  • Java Web实现添加定时任务的方法示例

    2023-11-25 02:12:15
  • Java实现简单的飞机大战游戏(控制主飞机篇)

    2023-11-14 13:52:56
  • java 引用传递的三种类型小结

    2023-09-03 03:59:47
  • Java通过Scanner了解if...else if语句

    2023-11-29 04:28:44
  • springboot常用注释的讲解

    2023-11-03 02:53:15
  • Java servlet、filter、listener、interceptor之间的区别和联系

    2023-11-02 15:32:17
  • eclipse如何搭建Springboot项目详解

    2023-11-29 04:52:36
  • Java应用多机器部署解决大量定时任务问题

    2023-10-28 17:07:17
  • springboot项目启动,但是访问报404错误的问题

    2022-09-21 10:30:10
  • java 反射机制详解及实例代码

    2023-01-31 10:26:08
  • jvm调优的几种场景(小结)

    2023-04-11 18:37:04
  • asp之家 软件编程 m.aspxhome.com