[折腾博客]更改了数据库与网站使之支持emoji - Cl的Library


[折腾博客]更改了数据库与网站使之支持emoji

👴的Typecho博客可以打emoji了吗?

👴事个🌶🐔嘤嘤嘤

检查发现可以使用...

起因

当初搭建博客的时候还是too young too naive. 使用的是MySQL5.7之类#的版本,默认编码格式甚至不是utf-8而是latin1.在留了一个心眼改变数据库的编码格式为utf-8之后以为就万事大吉,结果实际上还是打不出emoji。虽然我不讲抽象话,emoji也是偶尔用用,但是毕竟可以不用,不能没有,于是开始尝试调整数据库与网站配置使我的网站支持emoji。

调整数据库

备份数据库

mysqldump -u $user_name -p $database_name > $directory/$SQL_file
# $user_name即你数据库的用户名,确保你拥有相关权限
# $database_name即欲备份的数据库名
# $directory即备份文件存放的路径
# $SQL_file即你想要保存到的sql文件
# 例如:
# mysqldump -u db_admin -p my_typecho_blog > /home/my_typecho_blog/backup/backup_1919810.sql

更改数据库编码

登录MySQL数据库,更改对应数据库编码。如果你忘记了你的数据库名,请使用SHOW DATABASES
如下是示例。

ALTER DATABASE my_typecho_blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

更改数据库编码后,对数据库中的每一个表都执行:

ALTER TABLE $table_name CONVERT TO CHARATCER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

一切顺利的话可以再次存档备份。

调整Typecho相关设置

在Typecho网站的根目录下查找文件config.inc.php,更改其中的数据库设置:

/*定义数据库参数*/
// 如下的数据只是示例
$db->addServer(array (
      'host' => 'localhost',
        'user' => 'my_typecho_blog',
          'password' => '**************************************',
            //'charset' => 'utf8',
                // 注释上一行并添加下一行:
                  'charset' => 'utf8mb4',
          'port' => '3306',
            'database' => 'typecho_blogs',
        ), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

改完基本上就可以用🌶

本文链接:

https://clslaid.xyz/index.php/archives/27.html
1 + 2 =
快来做第一个评论的人吧~