最近我节选一位大佬的博客LiNPX的时候,发生了文章一半之后就自动消失的问题。
下图是我复制的原文。
直接复制到iA Writer中进行一些格式化工作,如下图。
然后将格式化后的全文复制粘贴到博客后台的发布窗口,如下图。
然后成功发布。
发布后的结果如下图。
注释:typecho文章结尾会自动添加版权声明,在截图里作为文章真的结尾了的证据。
可以看到,文章后半段神秘消失了。
然后到文章编辑界面查看,发现本文的后半段确确实实是消失了。
现在从iA Writer重新复制,然后删掉第一个emoji,重新发布本文试试看。
中间过程跳过,直接看结果。
可以看到,文章的中间,原来来两个emoji之间的部分回来了,但是第二个emoji之后的内容确实是消失了。
现在删掉第二个emoji,重新发布本文试试看。
可以看到,文章现在完完整整的发布了。
那么可以得出结论,复制来的emoji确实会导致typecho自动删除一部分文章内容的问题发生。
那么,我亲手写的emoji会不会也出现同样的问题呢?
现在到文章编辑器中的中间位置添加任意一个emoji,例如太阳的emoji。
现在我们来发布文章看看结果吧。
注释:因为文章太短,页面没有给予显示右侧目录。
可以看到,emoji所在位置之后的文章,再次神秘消失了。
那么可以得出结论:
emoji会导致typecho自动删除一部分文章内容的问题发生。
更新-解决方案
本部分内容节选自使Typecho支持最流行的Emoji表情😍,原始内容可点击链接查看。
修改数据库编码
主机壳->主机管理->数据库管理->phpMyAdmin->操作->排序规则->utf8mb4_unicode_ci
->执行
修改数据库表编码
还是在phpMyAdmin。
sql->粘贴以下sql语句到输入框->执行
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;
修改数据库配置文件
网站根目录数据库配置文件config.inc.php。修改字符集为utf8mb4
。
在本地修改完成之后通过ftp同步/上传到服务器。
$db->addServer(array (
'host' => localhost,
'user' => 'youruser',
'password' => 'yourpassword',
'charset' => 'utf8mb4', //修改这一行
'port' => 3306,
'database' => 'yourdatabase'
), Typecho_Db::READ | Typecho_Db::WRITE);
修改成功之后
就可以肆无忌惮的放emoji了😂。
本文由 maemolee 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Aug 2, 2020 at 12:11 pm
有没有大佬曾经研究过相关问题的,十分希望可以给予我指导。
数据库编码的问题,记得Typechodev有过说明好像,修改uft-8为utf8mb4即可,昨天遇到这个问题着实把我狠狠坑了一把
另外你博客的日文很好看
是的,我也已经按照这个方法解决了问题,并把方法更到了我的《从零开始建立一个Typecho博客》一文中?
另外谢谢你的夸奖www阿里嘎多
你好,我想咨询一下,我的主题的emoji直接居中了,不知道怎么回事!
我复制表情粘贴进去是可以的使用::这种方法是不行的!!:basketball: