返回顶部
首页 > 资讯 > 数据库 >MySQL中怎么存储emoji
  • 514
分享到

MySQL中怎么存储emoji

2024-04-02 19:04:59 514人浏览 独家记忆
摘要

Mysql中怎么存储emoji,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用 erlang 存储一些特殊字符串到 mysql 的时候,

Mysql中怎么存储emoji,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

使用 erlang 存储一些特殊字符串mysql 的时候,却没法读出来。经检查,这些字符串的二进制格式如下:

<<240,159,152,134,240,159,152,144>>

查看二进制的 unicode 是什么?

14> unicode:characters_to_list(<<240,159,152,134,240,159,152,144>>). [128518,128528] 15> erlang:integer_to_list(128518,16).%%查看十六进制 "1F606" 16> erlang:integer_to_list(128528,16). "1F610"

明显,1F606 和 1F610 超过了常见 unicode 字符串 0000-FFFF 的表达范围。

这里引用资料:Http://cenalulu.GitHub.io/linux/character-encoding/

1F606 和 1F610 代表什么?

根据 unicode 官网上的说明,这是一种 emoji(表情符号),具体的展示形式与厂商有关。

MySQL 上存储失败的原因

目前来说,多数 Mysql 都是以 utf8 存储,注意 MySQL 的 utf8 和我们所说的传统 utf8 有点区别。MySQL 的 utf8  编码规定了最多只能有 3 个字节,而 emoji 的 unicode 已经超过了 3 个字节,因此 MySQL 的 utf8 无法识别与存储  emoji。

为此可以查阅 MySQL 中关于 unicode 支持的资料,从中可以得知 MySQL 在 5.5 后开始支持 utf8mb4,这种编码支持 1 ~ 4  个字节,这种编码可以表示 emoji。

另外 utf8mb4 向下兼容 utf8。

关于 unicode 与 utf8  的详细介绍,请查看:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

解决方案

将 MySQL 中对应的字段改成 utf8mb4 编码:

ALTER TABLE t1   DEFAULT CHARACTER SET utf8mb4,   MODIFY col1 CHAR(10)     CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,   MODIFY col2 CHAR(10)     CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;

参考:http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-upgrading.html

将连接库的连接编码改为 utf8mb4,以 erlang 的连接库 emysql 为例:

emysql:add_pool(pool,[{size,1},{user,"user"},{passWord,"password"},{host,"host"},{port,3306},{encoding,utf8mb4}]). %%或者 emysql:add_pool(pool,1,"user","password","host",3306,undefined, utf8mb4).

为了建表方便,可以修改 my.cnf:

服务器字符集 [mysql] default-character-set=utf8mb4 [mysqld] character-set-server=utf8mb4

关于MySQL中怎么存储emoji问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网数据库频道了解更多相关知识。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中怎么存储emoji

本文链接: https://lsjlt.com/news/56688.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL中怎么存储emoji
    MySQL中怎么存储emoji,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用 erlang 存储一些特殊字符串到 MySQL 的时候,...
    99+
    2024-04-02
  • MySQL中怎么支持emoji图标存储
    这篇文章将为大家详细讲解有关MySQL中怎么支持emoji图标存储,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。常用字符集ASCII:美国信息互换标准编码;...
    99+
    2024-04-02
  • mysql存储emoji表情报错怎么办
    小编给大家分享一下mysql存储emoji表情报错怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:utf-8编码可...
    99+
    2024-04-02
  • 怎么利用java存储emoji表情
    这篇文章给大家介绍怎么利用java存储emoji表情,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.问题产生情况我遇到这个问题是做微信开发的时候有些有用的头像用了微信的emoji表情,然而我的mysql数据库用的编码...
    99+
    2023-05-31
    java emoji ava
  • mysql存储emoji表情步骤详解
    Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x94\xA5' for column Emoji表情存储到Mysql...
    99+
    2024-04-02
  • MySQL支持emoji图标存储的案例
    小编给大家分享一下MySQL支持emoji图标存储的案例,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!在MySLQ中 UPDATA 和 INSERT 数据的时候,如果数据上面带有emoji图标...
    99+
    2024-04-02
  • 解决Mysql存储emoji表情的两种方式
    下文给大家带来关于解决Mysql存储emoji表情的两种方式,感兴趣的话就一起来看看这篇文章吧,相信看完解决Mysql存储emoji表情的两种方式对大家多少有点帮助吧。   &...
    99+
    2024-04-02
  • MySQL如何解决无法存储emoji表情的问题
    这篇文章给大家分享的是有关MySQL如何解决无法存储emoji表情的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下1. 在navicat中如果在新建表之前就改变数...
    99+
    2024-04-02
  • mysql中null怎么存储的
    mysql 中 null 值表示未知或不存在,存储为一个 1 比特的位字段标记,位于每个列数据值末尾。这种存储方案高效地表示 null 值,只需 1 比特,允许快速检查,并减少存储空间。...
    99+
    2024-05-01
    mysql
  • MySQL无法存储Emoji表情问题的解决方法分析
    本文实例讲述了MySQL无法存储Emoji表情问题的解决方法。分享给大家供大家参考,具体如下: 数据插入的时候报错: 1366 - Incorrect string value: '\xF0\x9F\x98...
    99+
    2024-04-02
  • mysql存入emoji表情的问题是怎么样的
    本篇文章为大家展示了mysql存入emoji表情的问题是怎么样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 1.测试插入脚本...
    99+
    2024-04-02
  • 怎么在mysql中存储数组
    怎么在mysql中存储数组?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、创建数据库,用于实例:CREATE DATABASE...
    99+
    2024-04-02
  • Python中怎么操作MySQL存储
    Python中怎么操作MySQL存储,这些你都会了吗?,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 准备工作在开始之前,请确保已经安装好了MySQL数据库并保证它能正常运...
    99+
    2023-06-17
  • python中怎么向mysql中存储图片
    这篇文章给大家介绍python中怎么向mysql中存储图片,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。示例代码如下:#!/usr/bin/python # -*-&nbs...
    99+
    2024-04-02
  • MySQL中怎么直接储存图片
    这篇文章将为大家详细讲解有关MySQL中怎么直接储存图片,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  如何在MySQL中直接储存图片  首先,你必须在你...
    99+
    2024-04-02
  • MYSQL中怎么管理存储过程
    今天就跟大家聊聊有关MYSQL中怎么管理存储过程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。查看存储过程函数名:存储过程:(注意字段name,ty...
    99+
    2024-04-02
  • MySQL中怎么设置存储引擎
    今天就跟大家聊聊有关MySQL中怎么设置存储引擎,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MySQL设置存储引擎 1)查询存储引擎l ...
    99+
    2024-04-02
  • mysql中怎么创建存储过程
    mysql中怎么创建存储过程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mysql创建存储过程和函数 一个存储程序是可以被存储在服...
    99+
    2024-04-02
  • MySQL中怎么使用存储过程
    MySQL中怎么使用存储过程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 mysql存储过程存储过程(Stored  P...
    99+
    2024-04-02
  • mysql怎么存储图片
    mysql 不支持直接存储图片。最佳实践是:将图像文件存储在文件系统中,并将路径存储在数据库中。使用云文件存储服务(如 amazon s3 或 google cloud storage)...
    99+
    2024-05-30
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作