当前位置: 首页 > 编程笔记 >

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

范建华
2023-03-14
本文向大家介绍java处理数据库不支持的emoji表情符问题解决,包括了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;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍3种方法轻松处理php开发中emoji表情的问题,包括了3种方法轻松处理php开发中emoji表情的问题的使用技巧和注意事项,需要的朋友参考一下 背景 做微信开发的时候就会发现,存储微信昵称必不可少。 可这万恶的微信支持emoji表情做昵称,这就有点蛋疼了 一般Mysql表设计时,都是用UTF8字符集的。把带有emoji的昵称字段往里面insert一下就没了,整个字段变成了空字符串。

  • 本文向大家介绍MySQL插入emoji表情失败问题的解决方法,包括了MySQL插入emoji表情失败问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 前言 之前一直认为UTF-8是万能的字符集问题解决方案,直到最近遇到这个问题。最近在做新浪微博的爬虫, 在存库的时候发现只要保持emoji表情,就回抛出以下异常: 众所周知UTF-8是3个字节, 其中已经包括我们日常能见过的绝大多数字体. 但3

  • 本文向大家介绍InnoDB数据库死锁问题处理,包括了InnoDB数据库死锁问题处理的使用技巧和注意事项,需要的朋友参考一下 场景描述 在update表的时候出现DeadlockLoserDataAccessException异常 (Deadlock found when trying to get lock; try restarting transaction...)。 问题分析 这个异常并不会

  • Django试图尽可能多的支持所有数据库后端的特性。然而,并不是所有数据库都一样,所以我们必须在支持哪些特性和做出哪些安全的假定上做出设计决策。 本文描述了一些Django使用数据库的有关特性。当然,它并不想成为各服务器指定的文档或者参考手册的替代品。 综合说明 持续连接特性 持续连接的特性避免了每一次重新建立与数据库的连接的请求中所增加的压力。这些连接通过 CONN_MAX_AGE 参数(控制一

  • 我在自己的oracle数据库中使用以下链接创建了spring批处理元数据表 https://github.com/spring-projects/spring-batch/tree/main/spring-batch-core/src/main/resources/org/springframework/batch/core 但是当我运行我的Spring批处理时,它会抛出错误: 目前我使用的是sp

  • 如上图 vue3中,使用reactive或ref定义的数据,初始化push到对象中的一个数组中,但是在提交的时候,提交数据里面的数组怎么变成了打印出的这种格式了。