最近在使用一个主题时,看到搭配emoji表情可以让改主题更加美观,于是我就上了,结果在将emoji表情放进去保存的时候报错:Database Query Error,于是问起了度娘。最后的结果是:

在 MySQL 中,UTF-8只支持最多 3 个字节,而 emoji 是 4 个字节。
Typecho默认不支持emoji表情,其实不是程序的锅,而是由于编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4即可,当然别忘了,utf8mb4编码只有在PHP5.5以后才支持。.
简单三步即可让typecho支持emoji.

解决办法:
1.首先我们进入数据库控制面板,然后点击我们博客对应的数据库。

2.然后我们点击sql并将我们的代码粘贴进去点击右下角的执行按钮!

alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_options convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_users convert to character set utf8mb4 collate utf8mb4_general_ci;

3.我们到网站的根目录下找到config.inc.php在其中的六十行左右我们可以看到如下代码,然后我们将原来的utf8修改为 utf8mb4替换掉保存即可

/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
'host' => 'localhost',
'user' => '这是你的数据库名',
'password' => '你数据的密码',
'charset' => 'utf8mb4', // 将原来的utf8修改为 utf8mb4
'port' => '这是你的数据库端口',
'database' => '这是你的数据库名',

总结:
这样我们就可以在typecho中自由自在的使用emoji表情了

让Typecho支持Emoji表情,解决报错:Database Query Error的更多相关文章

  1. [待解决]报错:JSON parse error: Unexpected character

    {"code":"9999","message":"JSON parse error: Unexpected character ...

  2. 一个emoji引发的一条血案:mysql存储emoji表情字符时报错解决

    以下是我插入一条带表情的数据到mysql后出现错误 2019-03-04 14:24:40,462 ERROR 2807 [-/139.199.27.244/-/2ms POST /api/activ ...

  3. 解决Emoji存储MySQL报错问题

    在解决之前,得先说明一下为什么会出现报错,Emoji表情占用4个字节,但是MySQL数据库UTF-8编码最多只能存储3个字节,就会导致存储不进去 如何解决Emoji存储问题 mysql 的 utf8编 ...

  4. 通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0...

    原文:[原创]通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 'incorrect string value: '\xF0... 这篇blog重点在解决问题,如果你对 ...

  5. mysql不支持emoji表情的问题的解决方法

    最近财神圈项目集成微信登录功能的过程中,当保存用户有昵称含有表情符号时后台服务抛出异常,原来是数据库默认字符集不支持emoji表情字符.找到问题的原因后,因为之前也没有遇到过这样的问题,也没思路,迅速 ...

  6. Typecho博客支持emoji表情设置

    介绍 大家在typecho博客写文章时,很多人都喜欢使用emoji表情(比如这些图标)但是typecho的数据库类型默认不支持emoji编码,因为Emoji是一种在Unicode位于u1F601-u1 ...

  7. MySQL支持Emoji表情

    让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节, ...

  8. 教你如何让数据库支持emoji表情符存储

    From: http://www.cnblogs.com/janehoo/archive/2016/04/06/5359800.html 一.教你如何让数据库支持emoji表情符存储 解决方式:更换字 ...

  9. mysql数据库字符集相关操作(修改表字段编码,使其支持emoji表情)

    普通的UTF8编码是不支持emoji表情插入的,会报异常: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x9 ...

  10. win7 X64 使用VS2008 ->编译报错LINK : fatal error LNK1000: Internal error during Incr的解决

    编译报错LINK : fatal error LNK1000: Internal error during Incr的解决 Win7 旗舰版 Microsoft Visual Studio 2008 ...

随机推荐

  1. 【Android】屏幕超时休眠

    前言 屏幕超时休眠指的是在设备一段时间没有操作后,自动关闭屏幕显示以节省电量并防止误触.当屏幕进入休眠状态时,通常会关闭屏幕背光,但设备可能仍在运行后台进程. 正文 Settings应用相关 Sett ...

  2. R数据分析,codewar的年终总结,和一周年总结,寒假快乐呀

    前阵子单位各个部门都在要求弄总结,想想自己这个公众号也写了快一年了,专门回去翻了翻,这个公众号发布的第一篇文章是在2021年的1月17日,我想2022年的1月17日我就把现在敲的文字推出来吧,也算是一 ...

  3. SafeHandle 和 Dispose

    SafeHandle 和 Dispose 这是从 https://www.cnblogs.com/zeroone/p/3708112.html 复制过来的,原文的格式不够好,重新排版一下. SafeH ...

  4. 【前端】【H5 API】实现文件读取操作

    H5 API 实现文件读取操作 该接口通过FileReader对象来读取本地存储的文件,然后使用File对象来指定读取的文件或数据 File对象 可以是来自用户在一个元素上(如<input> ...

  5. consul discovery prefer-ip-address

    spring.cloud.consul.discovery.prefer-ip-address: 'true'

  6. 转载 Spring boot中配置事务管理

    一.注解的方式 1. 在Spring boot工程的主入口类中加入注解 // 开启事务支持 @EnableTransactionManagement 1 2 2. 在需要事务支持的服务类(class) ...

  7. mac 安装mysql详细教程(安装包方式)

    一:下载最新的MySQL社区版 为了安装更方便,建议下载dmg安装包.最新的版本是5.7.20.   MySQL 二:安装MySQL 双击 mysql-5.7.20-macos10.12-x86_64 ...

  8. Eclipse中如何将web应用部署到tomcat

    第1种方法: 将workspace下的复制到tomcat的webapp下(我看度还是算了,看着都觉得麻烦). 第2种方法:总体思路就是:(1)先为web应用创建Tomcat Server:(2)再将w ...

  9. Java 链表API

    Java 链表 1.什么是链表? 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的. 每一个链表都包含多个节点,节点又包含两个部分: 1)一个是数据 ...

  10. 【java提高】---细则(1)

    异常 一.异常与错误的区别 再讲异常之前我们就应该要知道异常和错误的区别 Error类和Exception类的父类都是throwable类,他们的区别是: Error类一般是指与虚拟机相关的问题,如系 ...