前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让typecho支持emoji

让typecho支持emoji

作者头像
老高的技术博客
发布2022-12-27 15:19:57
3290
发布2022-12-27 15:19:57
举报

这年头文章里加个emoji很正常吧,但是typecho貌似之前没有考虑到,没有原生支持emoji,但是这怎么能难倒我们勤劳的码农呢!

utf8mb4需要 Mysql5.5.3+ 版本的支持,mb4 = most bytes 4,utf8是utf8mb4的子集,所以不需要额外的转换。

新站

如果是新建站,那么一定要在建立数据库的时候就制定当前数据库的编码为utf8mb4 + utf8mb4_general_ci。这样默认建表的编码就全部为utf8mb4了,最后修改config.inc.php文件中:

/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
  'host' => '1.2.3.4',
  'user' => 'root',
  'password' => 'phpgao',
  'charset' => 'utf8mb4',  # ----> 这一行如果不是utf8mb4请修改为 utf8mb4
  'port' => '3306',
  'database' => 'phpgao',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

完事儿

旧站

首先修改数据表编码:

# typecho_baidusubmit是老高百度文章提交的表
alter table typecho_baidusubmit convert to character set utf8mb4 collate utf8mb4_general_ci;
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;

然后也需要修改config.inc.php文件,方法同新站,不再赘述。

至此,你的站点就已经支持emoji了,但是在不支持emoji的平台下表情会变为方框。

mysql

添加到mysql.ini文件中,可以让utf8mb4更好地工作。

[client]  
default-character-set=utf8mb4  
  
[mysqld]  
character-set-server = utf8mb4  
collation-server = utf8mb4_general_ci  
init_connect='SET NAMES utf8mb4'  
skip-character-set-client-handshake = true  
  
[mysql]  
default-character-set = utf8mb4  

补充

github等一大波版本工具都支持emoji了,你还在等什么!?

EMOJI CHEAT SHEET

Rerfer:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新站
  • 旧站
  • mysql
  • 补充
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档