帝国论坛帝国网站管理系统交流区帝国CMS 7.5专版[求助]帝国cms支持emoji有大佬出个详细教程吗 【本版专题贴子】  
 1/2     1 2 ›› ›|
主题:[求助]帝国cms支持emoji有大佬出个详细教程吗 [加入收藏夹]   

daizy
用户头衔:举人

精华贴   :0
发贴数   :151
经验值   :791
注册时间:2009-07-27
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[求助]帝国cms支持emoji有大佬出个详细教程吗
首先要配置数据库支持emoji表情,参考:MySQL不支持emoji表情的解决方法

然后修改帝国cms的配置文件:/e/config/config.php,将编码改为:utf8mb4

大概在17-18行

$ecms_config['db']['setchar']='utf8mb4'; //设置默认编码
$ecms_config['db']['dbchar']='utf8mb4'; //数据库默认编码


之后是怎样?还是不行




2024-04-18 13:59:30 已设置保密 顶部 回复 引用 报告 编辑 删除

daizy
用户头衔:举人

精华贴   :0
发贴数   :151
经验值   :791
注册时间:2009-07-27
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

2.在/e/class/userfun.php中添加接受emoji表情,解析emoji表情的函数,代码如下:

//接受emoji表情

function addEmoji($content){

        $return= preg_replace_callback('/[\xf0-\xf7].{3}/', function ($r){return '@E' . base64_encode($r[0]);}, $content);

        return $return;

}

//解析emoji表情

function getEmoji($content){

        $return=preg_replace_callback('/@E(.{6}==)/',function ($r){return base64_decode($r[1]);},$content);

        return $return;

}

3.在/e/class/functions.php中,找到返回自定义字段函数ReturnAddF 大概6179行 添加如下代码:

if($f=='newstime')//时间

{

    $value=empty($value)?time():to_time($value);

}

elseif($f=='title'){

        $value=addEmoji($value);

}

4.在内容模板中解析标题中的emoji表情,代码如下:

<?=getEmoji($navinfor['title'])?>




2024-04-18 14:00:51 已设置保密 顶部 回复 引用 报告 编辑 删除

1G空间100员
用户头衔:进士

精华贴   :1
发贴数   :755
经验值   :2045
注册时间:2008-05-21
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

自己解决了吗?



高防云广州主机服务器托管
服务器租用建站深圳主机
2024-04-18 15:24:48 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3022
经验值   :8616
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

原帖由 daizy 于 2024-04-18 14:00:51 发表
2.在/e/class/userfun.php中添加接受emoji表情,解析emoji表情的函数,代码如下:

//接受emoji表情

function addEmoji($co...



这一步没有必要。 设置接受多字节utf8的字段编码为 utf8mb4  就可以了



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2024-04-19 05:27:41 已设置保密 顶部 回复 引用 报告 编辑 删除

cnnb
用户头衔:探花

精华贴   :0
发贴数   :5714
经验值   :16329
注册时间:2008-10-14
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

表还要改编码




2024-04-19 07:20:04 已设置保密 顶部 回复 引用 报告 编辑 删除

daizy
用户头衔:举人

精华贴   :0
发贴数   :151
经验值   :791
注册时间:2009-07-27
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

不行阿  




2024-04-24 10:48:03 已设置保密 顶部 回复 引用 报告 编辑 删除

daizy
用户头衔:举人

精华贴   :0
发贴数   :151
经验值   :791
注册时间:2009-07-27
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

原帖由 cnnb 于 2024-04-19 07:20:04 发表
表还要改编码

分享一下经验???




2024-04-24 10:48:27 已设置保密 顶部 回复 引用 报告 编辑 删除

daizy
用户头衔:举人

精华贴   :0
发贴数   :151
经验值   :791
注册时间:2009-07-27
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

原帖由 1G空间100员 于 2024-04-18 15:24:48 发表
自己解决了吗?

没呢 。。。




2024-04-24 10:48:46 已设置保密 顶部 回复 引用 报告 编辑 删除

jiaxian520
用户头衔:举人

精华贴   :0
发贴数   :298
经验值   :1069
注册时间:2009-02-04
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

试试把对应字段的编码也改成utf8mb4_general_ci
举例:
存emoji字段是news的title,
宝塔,进入phpmyadmin,把news的title修改为utf8mb4_general_ci




2024-04-24 17:37:21 已设置保密 顶部 回复 引用 报告 编辑 删除

oldboy94
用户头衔:进士

精华贴   :0
发贴数   :307
经验值   :1827
注册时间:2016-09-27
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

改数据库字段编码排序规则的时候  如果别忘了同时修改附表  审核表CHECK  审核表不修改发布的时候会出错



QQ 78946876
2024-04-27 12:11:28 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/2     1 2 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1