MariaDB不支持emoji表情

Emoji编码原理与开发实战:从Unicode码点到数据库存储的完整指南 字符编码是现代软件开发的基础技术之一,它定义了计算机如何表示和处理文本信息。Unicode作为全球统一的字符编码标准,其核心原理是为每个字符分配唯一的码点(Code Point)。在技术实现层面,UTF-8等编码方案将这些码点转换为字节序列,确保跨平台数据交换的一致性。Emoji作为Unicode标准的重要组成部分,其技术价值在于将图形符号纳入字符体系,实现了情感表达的标准化。在应用场景中,开发者需要处理Emoji的复杂序列结构,如零宽连接符(ZWJ)组合和肤色修饰符,这直接影响字符串处理、数据存储和前端渲 阅读详情

项目需求,数据库中引入带有emoji数据,引入后报错:
在这里插入图片描述
这是因为表情是4个字节的,Mysql的utf-8编码只支持3个字节的数据,所以要使用到新的编码utf8mb4。
因此按照这个方向去排查:
1、首先确定下MariaDB对应的MySQL版本:
MariaDB 5.5 对应 Mysql 5.5
5.5以下的版本都是上述对应关系
MariaDB 10.0 对应 Mysql 5.6
MariaDB 10.1 对应 Mysql 5.7
mysql5.5.3以上才支持utf8mb4
因此,可以看出我们的版本是支持的:
在这里插入图片描述
2、既然这样,那修改字符集就可以了,下面是修改字符集的一些手段:
大佬已经整理好了,在此感谢:https://www.cnblogs.com/yangmingxianshen/p/7999428.html
原来的样子:
在这里插入图片描述

3、但是发现只更改了库的字符集不管用:
改之前:
在这里插入图片描述
改之后:
在这里插入图片描述

4、因此,需要全局更改字符集,在my.cnf中添加参数:

[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

修改完,保存退出,重启数据库
在这里插入图片描述

emoji数据导入成功!

云服务器上安全创建MySQL/MariaDB数据库的完整实践 数据库是应用数据存储的核心基础设施,其初始化配置直接影响系统稳定性、安全性与中文支持能力。理解字符集(如utf8mb4)、权限模型、网络绑定及存储引擎等底层原理,是避免乱码、连接失败和删库风险的技术前提。MySQL与MariaDB在云环境中的安装方式、默认行为和安全加固路径存在关键差异,需结合发行版生态(如Ubuntu的MySQL 8.0 vs CentOS的MariaDB)进行适配。本文聚焦云服务器终端实操,覆盖从服务安装、远程访问配置、CREATE DATABASE显式声明字符集与排序规则,到最小权限用 阅读详情

相关推荐

Debian 9 LAMP实战搭建:Apache+MariaDB+PHP7.0全链路配置指南

LAMP是Linux、Apache、MySQL(或MariaDB)、PHP构成的经典Web服务栈,其核心在于四组件间的协议协同与权限联动。Apache作为HTTP守护进程需通过mod_php模块调用PHP解释器,PHP则依赖mysqli等扩展连接MariaDB,而Debian系发行版以APT包管理实现配置标准化与安全更新闭环。该技术栈广泛应用于WordPress、ThinkPHP等PHP应用部署,尤其适合中小型企业对稳定性、可维护性及长期安全支持(LTS)有明确要求的生产场景。本文聚焦Debian 9(St

dingdi3021的博客 506

MariaDB - Emoji 表情字符存储

环境 Spring Boot + Mybatis + Mariadb + HikariCP 解决方案 1、【数据库】字段字符集编码使用utf8mb4/utf8mb4-general-ci,示例 1CREATETABLE`comment`( 2`id`int(11)NOTNULLAUTO_INCREMENT, 3`user_id`int(11)NOT...

gw的博客 820

Ubuntu 16.04部署Moodle实战:LAMP栈深度调优与生产避坑指南

Moodle作为主流开源学习管理系统(LMS),其部署本质是LAMP架构(Linux+Apache+MySQL+PHP)的工程化落地。理解Apache模块加载机制、PHP扩展依赖(如opcache、xml)、MySQL字符集配置(utf8mb4)及权限模型,是保障教学平台稳定运行的核心基础。在Ubuntu 16.04等长期支持但组件锁定的旧环境中,技术价值不在于追求新潮架构,而在于通过最小变更原则实现最大确定性——例如坚持Apache+mod_php而非Nginx+PHP-FPM,选用mysql-serve

ama7449的博客 438

Mariadb支持emoji表情

1 只设置字段字符集即可 alter table tp_user_bind change nick_name nick_name VARCHAR(128) charset utf8mb4; 这几个表情直接copy验证 ???????????????????????? 2 系统变量并没有去设置 SHOW VARIABLES like ‘character%’; 3 之前mysql 设置了几个系统变量才生效 ...

兰星_thk&try的博客 505

LTC2990电池监控芯片I²C驱动开发与多通道同步采样实践

电池监控是嵌入式电源管理系统的核心环节,其本质依赖高精度模拟信号采集、数字转换与实时状态评估。LTC2990作为集成电压/电流/温度三合一的专用监控IC,通过真差分输入、内置基准和I²C数字接口,显著简化了SOC/SOH估算的硬件链路。其技术价值在于以单芯片替代传统ADC+运放+传感器组合,在宽压(2.7–36 V)、高共模(80 V)场景下保障工业级测量可靠性。典型应用于电动工具、车载BMS、UPS及便携式储能设备的电池健康监测子系统。本文聚焦LTC2990底层驱动实现,涵盖I²C时序约束、寄存器原子读写

weixin_42599558的博客 134

别再手动配IP了!保姆级教程:用Cisco Packet Tracer搞定DHCP服务器配置(附实验抓包分析)

本文提供了一份详细的Cisco Packet Tracer DHCP服务器配置教程,帮助用户告别手动分配IP的繁琐过程。通过构建多子网实验环境,逐步指导DHCP地址池设置、客户端测试及协议分析,并分享常见问题排查技巧,让网络配置更高效、更智能。

weixin_42535461的博客 340

MySql如何支持emoji表情

前言 编码过程中,可能都会遇到这个问题,MySql或MariaDB需要支持emoji表情。下面就把步骤分享一下,顺便也记录一下! 正文 修改.cnf文件 由于我们使用的是MariaDB的Docker镜像,因此需要在原有镜像的基础上进行再加工,即替换原有的/etc/mysql/conf.d目录下的mariadb.cnf文件。如果你不知道修改的文件具体的目录,你可以使用原始的方法,即启...

Odd Man 1179

【Python】torch_npu

Ascend AI处理器核心计算范式与PyTorch的桥接艺术:深入探索torch_npu的基石要真正理解,我们必须首先超越其作为PyTorch后端库的表面认知,深入其所服务的硬件——华为昇腾(Ascend)AI处理器的核心计算范式。这不仅仅是关于如何在NPU上运行PyTorch模型,更是关于NPU如何设计其计算,以及如何巧妙地将这种硬件特性映射到PyTorch的抽象层之上。1. 昇腾AI处理器的达芬奇架构:极致算力的源泉昇腾AI处理器并非传统的CPU或GPU。它采用了华为独创的达芬奇(Da Vinci)架

宅男很神经 5374

Mysql或MariaDB无法保存UTF-8编码的表情符号

  前段时间贴吧更新了一个昵称规则,好像必须要用一个特殊符号或者表情符号写到昵称里,就像这种小表情:   那些曾经随意起用户名然后发现贴吧无法改名的用户得到了第二次新生。而在我编写一个注册系统时,也将用户名中包含表情符号的功能考虑进去了,结果发现报错Mysql无法存储此字符。在这个坑里我爬了半天,是怎么回事呢?   事实上这是Mysql的一个bug,在Mysql中,如果使用UTF-8编码来保存字符...

青青橙的博客 460

ubuntu22.04 安装部署 openclaw

ubuntu22.04 安装部署 openclaw

nalanxiaoxiao2011的博客 1007

Bulk / Smart-seq2数据分析一般流程

Bulk RNA-seq(RNA-Seq of bulk samples)是一种RNA-Seq技术应用,它是通过将整个组织或细胞群体的RNA提取并混合,进行高通量测序来分析基因表达的技术。转录本定量结果可以用于后续的差异表达分析和聚类分析。功能注释和富集分析:对差异表达基因进行功能注释和富集分析,以帮助理解差异表达基因的功能和调控网络,从而获得对研究样品的更深入的理解。数据可视化:最后,将聚类分析的结果进行可视化,可以使用常见的数据可视化工具,如ggplot2、Plotly等,来帮助用户更好地理解数据。

weixin_54519672的博客 5351

MySql存储表情报错

个人博客markdown插入标签后报以下错误报错信息: 在网上查询得知:在用mysql进行表情符号存储时,会报错,这是由于Emoji表情是4个字节,而mysql的utf-8编码最多是3个字节,所以在进行表情符号插入的时候会插入不进去。那么此时应该通过修改mysql编码为utf8mb4来解决该问题。但是我在sql表创建时已经想到了这一点并且相关字段也是utf8mb4,为什么还会报错通过多方查询和尝试,发现只要修改mysql配置...

JavaMonsterr的博客 775

34、木材在家具制造中的应用

本文详细探讨了木材在家具制造中的应用,从木材的选择、加工技术到设计创新和表面处理等方面进行了全面解析,并结合实际案例分析木材家具的市场趋势与未来发展。文章强调了木材家具在功能性、智能化和环保性方面的潜力,展示了其在现代家居生活中的重要地位。

flink9streamer的博客 242

总结项目中不支持emoji表情的问题的解决方法

最近财神圈项目集成微信登录功能的过程中,当保存用户有昵称含有表情符号时后台服务抛出异常,原来是数据库默认字符集不支持emoji表情字符。找到问题的原因后,因为之前也没有遇到过这样的问题,也没思路,迅速百度大神找了一大堆资料来,原来仅只要将数据库及相关的表和表字段设置为utfmb84即支持emoji表情的。 问题的原因是数据库中使用的字符编码为UTF-8,这种编码有可能是两个、三个、四个字节。Em

e_laoye的专栏 1万+

YOLOv8改进,YOLOv8添加DCNv4可变性卷积(windows系统成功编译),全网最详细教程

DCNv4通过两项关键增强解决了其前身DCNv3的局限性:1. 移除空间聚合中的softmax归一化,以增强其动态特性和表达能力;2. 优化内存访问以最小化冗余操作,从而加速计算。这些改进使得DCNv4相比DCNv3显著加快了收敛速度,并且处理速度大幅提升,前向传播速度超过三倍。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 6472

【Tessy】集成测试小白入门指导

本文详细介绍了如何进行集成测试的小白入门指导,从新建工程到设计用例,实现集成测试的过程详细步骤

qq_37282365的博客 1194

mysql存储表情

mysql存储表情报错: o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 1366, SQLState: 22001 o.h.engine.jdbc.spi.SqlExceptionHelper   : Data truncation: Incorrect string value: '\xF0\x9F\x92\xA4' for co...

灰色童话 7030

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

MariaDB Server字符集升级:从latin1到utf8mb4的完整迁移方案

还在为数据库中文乱码而烦恼?还在因为latin1字符集无法存储emoji表情而头疼?本文为你提供MariaDB Server从latin1到utf8mb4字符集迁移的完整解决方案,一次性解决所有字符编码问题! ## 为什么需要迁移到utf8mb4? **latin1字符集的局限性:** - 仅支持西欧语言字符,无法正确处理中文、日文等非拉丁字符 - 不支持emoji表情符号(😊🎉❤️) -

gitblog_00510的博客 828

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

知乎面试官:为什么不建议在 MySQL 中使用 UTF-8?

点击上方程序IT圈,选择“置顶公众号”优质文章,第一时间送达记得去年我在往MySQL存入emoji表情????????时,一直出错,无法导入。后来找到办法 -- 通过把 utf8 改成...

程序IT圈 124

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

OTRS内网部署实战:CentOS 7+MariaDB 5.5等保合规配置指南

工单系统是IT服务管理的核心基础设施,其自主可控性直接关系到数据安全与合规底线。在信创替代、等保2.0三级和物理隔离网络等刚性要求下,开源单体架构的OTRS因其数据库级审计日志、SLA自动计时和权限树模型,成为少数可落地的自建方案。本文围绕CentOS 7 Minimal环境,深入解析MariaDB字符集(utf8mb4)与版本锁死(5.5.68)、SELinux策略绕行、Perl模块编译链及OTRS层密码复杂度强制等关键技术锚点,覆盖从系统初始化、数据库加固、Web服务配置到首单闭环验证的完整因果链,为政

weixin_30892037的博客 427

[SQL] 0x00 初识SQL 及 MySQL/MariaDB 安装

初识SQL 及 MySQL/MariaDB 安装 什么是SQL、SQL能做什么 SQL:即结构化查询语言(Structured Query Language)。 SQL如名字所示,是指从数据库中查找对应记录的语言。它有自己的标准,众多数据库产品大部分都遵循这个标准,即掌握SQL也掌握了众多数据库管理系统的基本使用方法。 主流数据库产品和SQL 的关系 当前主流的数据库如下表 * Oracle ...

weixin_30455365的博客 108

centos7使用mysql(加密解密)

参考链接 https://blog.youkuaiyun.com/lwplvx/article/details/79168685 装并配置MariaDB. MariaDB是MySQL的一个分支,采用GPL授权许可证,目前主要由开源社区在维护。MariaDB的目的是完全兼容MySQL,包括 API和命令行,是之能轻松成为MySQL的替代品。 通过yum方式安装MariaDB非常...

sun007700的专栏 516

Movim项目部署指南:从零开始搭建XMPP社交平台

Movim是一款基于XMPP协议的现代化社交平台,它为用户提供了丰富的即时通讯和社交网络功能。作为一款开源项目,Movim允许用户在自己的服务器上部署私有实例。本文将详细介绍Movim的部署流程,帮助技术人员快速搭建自己的Movim实例。 ## 系统要求 在开始部署前,请确保您的服务器满足以下基本要求: ### 基础服务要求 - 功能完善的Web服务器(Apache、Nginx或Caddy)

gitblog_00513的博客 425

Python多语言文本处理实战:编码、正则与Unicode清洗技巧

在数据抓取与文本分析中,处理包含中文、西文及特殊符号的混合字符串是常见挑战。理解Unicode编码原理是解决此类问题的基石,它定义了字符的唯一标识与存储方式。Python的字符串处理能力在此场景下至关重要,通过正确解码可避免乱码,确保数据源头准确。正则表达式是文本匹配与提取的核心工具,结合re.UNICODE标志能有效匹配多语言字符。unicodedata库则提供了字符属性查询与规范化功能,用于处理字符等价性与精细过滤。这些技术的工程价值在于构建健壮的数据清洗管道,保障后续分析与存储的完整性。典型应用场景包

weixin_34301132的博客 405

MySQL 8.0 安装配置全攻略:从下载到避坑,一次搞定数据库环境搭建

关系型数据库是数据存储与管理的核心基础,其安装配置的规范性直接影响后续开发与运维的稳定性。MySQL作为最流行的开源关系型数据库,其安装过程涉及版本选择、环境配置、服务部署等多个关键环节。理解数据库运行原理,特别是字符集、身份验证机制和端口服务等核心概念,对于构建稳定可靠的数据库环境至关重要。正确的安装配置不仅能避免字符集乱码、服务启动失败等常见问题,还能为性能优化和安全加固奠定基础。在实际应用场景中,无论是本地开发测试还是生产环境部署,一个“干净”且“正确”的MySQL安装都是高效工作的起点。本文聚焦My

weixin_30247781的博客 456
上一篇: Linux下修改mysql的root密码方法(亲测有效)
下一篇: Jenkins使用秘钥登录
lcm_linux
博客等级 码龄7年 7258粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值