如何构建自己的网站,苏州网站创建,洛阳自助建站,移动网站开发Typecho 添加 Emoji 表情报错 文章目录 Typecho 添加 Emoji 表情报错前言Emoji 表情utf8mb4 与 UTF8 解决方案[1] 数据库编码更改[2] 数据库配置文件更改 前言 Typecho 添加 Emoji 表情不支持#xff0c;报错 Database Query Error Emoji 表情
Emoji 就是表情符号#xff0c…Typecho 添加 Emoji 表情报错 文章目录 Typecho 添加 Emoji 表情报错前言Emoji 表情utf8mb4 与 UTF8 解决方案[1] 数据库编码更改[2] 数据库配置文件更改 前言 Typecho 添加 Emoji 表情不支持报错 Database Query Error Emoji 表情
Emoji 就是表情符号来自日语词汇“絵文字”假名为“えもじ”读音即 emoji随着技术的发展被使用得越来越广泛。 ♀️
✨
❤✝☦♐♏♎♍
utf8mb4 与 UTF8
utf8mb4 它占用 4 个字节的存储空间而 utf8 是 3 个字节这样用 3 个字节去存储 4 个字节的东西很明显是存不下的会报错所以要用 utf8mb4并且 utf8mb4 是兼容 utf8 的。
注意对于 MariaDB 而言貌似 utf8mb4 有一个使用限制MariaDB 版本必须是 5.5 以上对于PHP而言只有在 PHP5.5 以后才支持。 Emoji 表情 是 4 个字节。而我们默认的 Typecho数据库表编码为 UTF-8这么说就明白了吧 解决方案
[1] 数据库编码更改
方案 1如果你正好使用 PhpMyadmin 的话那么修改起来就比较容易了
进入 PhpMyadmin选择对应数据库操作 排序规则 选择 utf8mb4_unicode_ci
修改数据库表排序顺序 UTF8 为 utf8mb4 方案 2
alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_options convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_users convert to character set utf8mb4 collate utf8mb4_unicode_ci;[2] 数据库配置文件更改
修改 Typecho 网站 根目录 数据库配置文件 config.inc.php
$db-addServer(array (host localhost,user youruser,password yourpassword,charset utf8mb4, // 修改这一行 utf8 - utf8mb4port xxxx,database yourdatabase
), Typecho_Db::READ | Typecho_Db::WRITE);