`

Mysql emoji字符

 
阅读更多
权声明:本文为博主原创文章,未经博主允许不得转载。

以前在创建MySQL表时,默认的编码都是utf8,没什么总是。最近在写一个手机的页面,测试时发现如果我在输入框的输入的Emoji字符,存入数据库时就会报错:

Error 1366: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'content'


Google说MySQL的utf8不是真正的UTF8,只能包含三个字节的unicode,4个字节就会报错。要解决此总是需要使用utf8mb4 这个编码。可是我把表和column的CHARSET都改成utf8mb4 后仍无法存入Emoji字符。

原来还要在my.cnf里修改下mysqld的character-set-server,把它改为utf8mb4,然后重启mysqld,就可存入Emoji字符了。

[mysqld]
character-set-server = utf8mb4

 

所以,建议大家以后在设计表时 default character set 最好设置为utf8mb4,因为现在Emoji字符已经很流行了,用户难免会在浏览器里输入Emoji字符。
分享到:
评论

相关推荐

    MySQL保存emoji表情

    因此,在设计与无线互联网相关的MySQL数据库时,推荐采用UTF-8mb4字符集来确保能够妥善处理emoji表情符号,避免出现数据存储或显示上的问题。 #### 限制 使用UTF-8mb4字符集的前提条件包括: - MySQL服务器版本需...

    mysql数据库支持emoji表情实例

    2. **字符集设置**:为了正确存储和检索emoji,你需要确保MySQL数据库的字符集设置为`utf8mb4`。`utf8mb4`是UTF-8的一个超集,它支持四字节的Unicode字符,而普通的`utf8`仅支持三字节的字符,不足以涵盖所有的emoji...

    使MySQL能够存储emoji表情字符的设置教程

    MySQL 需要支持 emoji 表情符号版本需要大于5.5.3,且字符集需要设置为utf8mb4 字符集。 utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节,而utf8mb4则扩展到一个字符最多能有4字节,所以...

    emoji表情符号mysql插入与读取

    MySQL默认使用的`utf8`字符集只支持最多3个字节的Unicode字符,而大多数emoji表情符号属于4字节的Unicode范围(UTF-8编码下的U+10000到U+10FFFF)。因此,如果直接使用`utf8`存储,会遇到无法正确保存和读取emoji的...

    mysql保存微信昵称特殊字符的方法

    在MySQL中保存微信昵称,特别是包含特殊字符如表情符号(Emoji)的昵称时,可能会遇到插入数据时报错的问题。这是因为MySQL的默认UTF-8字符集(实际上是`utf8`,并非完全标准的UTF-8)仅支持最多3字节的字符,而一些...

    MySQL数据库字符集的问题研究.pdf

    3. **无法正确存储一些特殊字符,如emoji表情**。 #### 五、分析乱码产生的原因 ##### 5.1 MySQL字符集相关变量理解 MySQL中与字符集相关的变量主要有以下几个级别: - **数据库服务器级别**:通过`my.ini`...

    MySQL无法存储emoji表情解决方案分析

    本文实例讲述了MySQL无法存储emoji表情解决方案。分享给大家供大家参考,具体如下: 今天学习爬虫爬伯乐在线的文章,由于在文章中有emoji表情,导致有emoji表情的文章都爬取不下来 经过一番搜索之后终于解决了问题。...

    emoji入库mysql注意事项除了更改utf8mb4最大的坑在这里

    MySQL默认使用的字符集是`latin1`,这是一种单字节编码方式,只支持256个字符,显然不足以覆盖emoji表情这样的四字节字符。因此,在尝试将包含emoji的表情存入MySQL数据库时,如果不进行相应的字符集配置,就会出现...

    mysql/Java服务端对emoji的支持与问题解决方法详解

    在Unicode标准中,emoji表情是4个字节的字符,而传统的utf8编码最多只能支持3个字节的字符,因此早期版本的MySQL(MySQL 5.5之前)无法正确存储emoji字符,当尝试存储时会抛出“Incorrect string value”异常。...

    mysql存储emoji表情步骤详解

    1.Emoji表情编码问题:Emoji表情虽然采用UTF-8编码,但是一个Emoji表情字符实际上需要使用4个字节来进行编码,而MySQL中的utf8编码仅能存储3个字节的字符。因此,直接存储Emoji表情会导致错误。 2.解决方法:MySQL ...

    php 处理APP emoji表情包 IOS表情包 Mysql保存手机表情

    - 数据库字符集设置:确保MySQL数据库、表以及字段的字符集设定为`utf8mb4`,因为`utf8`只支持部分Unicode,而`utf8mb4`则支持所有Unicode字符,包括emoji。 - PHP连接设置:在连接MySQL时,使用`mysqli_set_...

    Function.rar

    这篇文本将深入探讨如何处理emoji字符,以及它们在不同编码系统之间的转换。标题中的"Function.rar"可能是一个包含实用函数的资源包,特别是针对emoji字符处理的解决方案。描述提到这些函数可以有效地解决emoji字符...

    mysql中插入emoji表情失败的原因与解决

    mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。 下面话不多说了,来一起看看详细的...

    emoji插件.zip

    例如,MySQL的“utf8mb4”字符集是专为包含四字节的Unicode字符(包括许多emoji)设计的。同时,可能需要在后端使用诸如PHP、Node.js或Python等编程语言来处理这些数据,确保它们在存取时不会丢失或变形。 最后,...

    emoji案例下载

    - 数据库存储:由于emoji的Unicode特性,数据库需要支持Unicode存储,例如MySQL的utf8mb4字符集。 - 查询和搜索:在处理包含emoji的数据时,需要考虑如何正确进行查询和全文搜索,这可能需要特定的数据库配置或第...

    Java emoji持久化mysql过程详解

    由于mysql的utf-8字符集不能保存四字节的emoji表情符号,所以需要特殊处理。下面将详细介绍Java emoji持久化mysql过程的详解。 首先,为什么mysql的utf-8字符集不能保存emoji表情符号?这是因为emoji表情符号占位是...

    MySQL插入emoji表情失败问题的解决方法

    之前一直认为UTF-8是万能的字符集问题解决方案,直到最近遇到这个问题。最近在做新浪微博的爬虫, 在存库的时候发现只要保持emoji表情,就回抛出以下异常: Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90......

Global site tag (gtag.js) - Google Analytics