MySQL 字符编码和表情符号存储
我们有一个 iPhone 应用程序,它将表情符号传输到 PHP 后端,然后将它们插入 MySQL数据库。然而,插入成功后,存储的值显示为空白。
纯文本插入成功,但当包含表情符号时,仅插入文本。由于偶尔插入非表情符号且存储需求较小,建议将字段类型更改为 Blog(以容纳图像数据),结果证明不适合。
解决方案:MySQL 字符集兼容性
问题出在MySQL的字符编码上。 iOS 表情符号主要利用超过 Unicode 表的基本多语言平面 (BMP) 的代码点。例如,“张开嘴巴微笑着眼睛的笑脸”表情符号位于 U 1F604。
5.5 之前的 MySQL 版本仅支持 UTF-8 的 BMP,限制存储为 U FFFF 下的字符。因此,MySQL 无法存储 U 1F604 表情符号或其他“高字符”。
要解决此问题,请使用 MySQL 5.5 并选择 utf8mb4(正宗 UTF-8)、utf16 或 utf32 作为列字符集。此外,请确保 PHP 和数据库之间的 MySQL 连接使用相同的字符集。
对于低于 5.5 的 MySQL 版本,请使用 BLOB 列类型,该类型存储原始字节而不考虑“字符”。虽然这允许表情符号存储,但它会损害文本搜索和索引效率。
以上是为什么我的表情符号在 MySQL 中消失了?的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用MySQL的Alter Table语句修改表,包括添加/删除列,重命名表/列以及更改列数据类型。

文章讨论了为MySQL配置SSL/TLS加密,包括证书生成和验证。主要问题是使用自签名证书的安全含义。[角色计数:159]

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

本文讨论了使用Drop Table语句在MySQL中放下表,并强调了预防措施和风险。它强调,没有备份,该动作是不可逆转的,详细介绍了恢复方法和潜在的生产环境危害。

本文讨论了在PostgreSQL,MySQL和MongoDB等各个数据库中的JSON列上创建索引,以增强查询性能。它解释了索引特定的JSON路径的语法和好处,并列出了支持的数据库系统。

文章讨论了使用准备好的语句,输入验证和强密码策略确保针对SQL注入和蛮力攻击的MySQL。(159个字符)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

记事本++7.3.1
好用且免费的代码编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境