表情字符串是4个字节
(1)升级mysql到5.5以上才行
(2)config/database.yml设置
#encoding: utf8mb4
#charset: utf8mb4
#collation: utf8mb4_unicode_ci
encoding: utf8mb4这句话添加到各个环境下
(3)本地报
Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
Mysql2::Error: Can't initialize character set utf8mb4 (path: /usr/share/mysql/charsets/)
(4)修改本地(137)mysql上配置
vi /etc/my.cnf
port = 3306
socket = /home/mysql/mysql/mysql.sock
character_set_server=utf8mb4 在上面两句下添加这句
(5)重启mysql
service mysqld start 有些可能是mysql
(6)修改 /usr/share/mysql/charsets/Index.xml 文件
把开头name的utf8改成utf8mb4 其它不用修改,完成
分享到:
相关推荐
在MySQL中保存微信昵称,特别是包含特殊字符如表情符号(Emoji)的昵称时,可能会遇到插入数据时报错的问题。这是因为MySQL的默认UTF-8字符集(实际上是`utf8`,并非完全标准的UTF-8)仅支持最多3字节的字符,而一些...
因此,在设计与无线互联网相关的MySQL数据库时,推荐采用UTF-8mb4字符集来确保能够妥善处理emoji表情符号,避免出现数据存储或显示上的问题。 #### 限制 使用UTF-8mb4字符集的前提条件包括: - MySQL服务器版本需...
例如,设置为`character-set-server=utf8mb4`,将全局字符集设为UTF-8的超集,以支持表情和其他Unicode扩展。 3. 数据库、表、列字符集:每个数据库、表和列都可以有自己的字符集设置。在创建时,可以通过`...
本教程将详细介绍如何配置MySQL数据库,使其能够存储和处理emoji表情字符。 首先,要理解MySQL对emoji支持的关键在于采用`utf8mb4`字符集。`utf8mb4`是UTF-8的超集,专门为了兼容Unicode标准中的四字节字符,如...
总之,要成功地在MySQL中存储和读取emoji表情符号,关键在于使用`utf8mb4`字符集,并确保整个数据链路的兼容性。通过遵循上述步骤,你可以有效地处理这些丰富多彩的表情符号,为用户提供更加生动的交互体验。
3. **无法正确存储一些特殊字符,如emoji表情**。 #### 五、分析乱码产生的原因 ##### 5.1 MySQL字符集相关变量理解 MySQL中与字符集相关的变量主要有以下几个级别: - **数据库服务器级别**:通过`my.ini`...
MySQL在处理表情符号时面临的主要问题是其默认的UTF-8编码(实际上是UTF-8变种,也称为utf8,只支持三字节的Unicode字符)无法完全覆盖Unicode字符集,尤其是那些包含表情符号的四字节UTF-8字符。当你尝试在MySQL中...
2. **MySQL存储emoji**: - 数据库字符集设置:确保MySQL数据库、表以及字段的字符集设定为`utf8mb4`,因为`utf8`只支持部分Unicode,而`utf8mb4`则支持所有Unicode字符,包括emoji。 - PHP连接设置:在连接MySQL...
总的来说,解决MySQL存储emoji表情的问题,关键在于切换到UTF8MB4编码,并确保整个数据处理链路(包括数据库、爬虫、服务器等)都支持这种编码。对于开发人员来说,理解字符编码的重要性以及如何在不同环节中适配它...
除了上述内容外,文章中还提到了MySQL存储过程、常用函数、日志操作、事务操作和数据库锁相关的一些技巧总结,这些技巧和总结对深入理解MySQL以及处理日常数据库工作中的常见问题同样具有重要的参考价值。
2. **字符集设置**:为了正确存储和检索emoji,你需要确保MySQL数据库的字符集设置为`utf8mb4`。`utf8mb4`是UTF-8的一个超集,它支持四字节的Unicode字符,而普通的`utf8`仅支持三字节的字符,不足以涵盖所有的emoji...
总结来说,MySQL的字符集与比对方法是数据库设计中的基础元素,它们决定了数据的存储、排序和比较规则。了解并合理使用这些概念,可以帮助我们构建更加健壮和兼容的数据库系统。在实际工作中,根据数据特性选择合适...
MySQL存储Emoji表情报错的处理方法是通过将MySQL数据库的编码更改为utf8mb4来实现的。Emoji表情是使用Unicode编码的字符,通常占用4个字节。而MySQL中的utf8编码只支持最多3个字节的字符,因此当尝试存储4字节的...
在MySQL中,有多种字符集可供选择,如拉丁文的`latin1`,广泛支持Unicode的`utf8`(实际上是UTF-8编码),以及更现代的`utf8mb4`,它支持更多的Unicode字符,包括表情符号。 在MySQL配置文件`my.cnf`或`my.ini`中,...
1.Emoji表情编码问题:Emoji表情虽然采用UTF-8编码,但是一个Emoji表情字符实际上需要使用4个字节来进行编码,而MySQL中的utf8编码仅能存储3个字节的字符。因此,直接存储Emoji表情会导致错误。 2.解决方法:MySQL ...
这里的`utf8mb4`是UTF-8的变种,能支持更多Unicode字符,尤其是表情符号和其他四字节字符。 安装后,你可能还需要进行一些安全性设置,比如限制root用户远程登录、删除匿名用户、禁用测试数据库等。可以使用`mysql_...