DEDECMS文章标题显示不全的原因以及解决方法

  首先这里说一下编码问题:UTF-8与GBK(通常为GB2312)。

  1. GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准);GBK编码专门用来解决中文编码的,是双字节的;不论中英文都是双字节的。占2个字节!

  2. UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。站三个字节!

  DEDECMS文章标题显示不全的原因:

  原因1.GBK编码模式下,织梦dedecms系统默认的文章标题字数限制是60,也就是只能输入30个汉字,超过的会自动截断删除,导致标题显示不全;

  解决方法:

第一步、在后台进入 系统 -> 系统基本参数->其它选项 -> 文档标题最大长度把次参数修改为需要设置的标题最大长度,默认参数是60,一般我们修改成90;可以自定义修改,保持和下一步数字一致。
第二步、在后台中,进入系统->系统 SQL命令行工具 中执行以下代码
alter table dede_archives change title title varchar(90)
里面的的varchar(90) 要修改成为你系统设置中填写的最大标题长度数字。(也可直接手动修改dede_archives表中的title字段类型与长度)

  原因2.UTF-8编码模式下,织梦dedecms默认的调用函数$titlelen = AttDef($titlelen,30)最大取30个字节,所以最多只显示11个汉字,基本上都是不够用的;  

  解决方法:

打开后台文件:/include/taglib/arclist.lib.php ,找到“$titlelen = AttDef($titlelen,30); ”条语句,也可以把代码复制在编辑工具中修改,把其中的改为更大的数值即可,一般改为60;修改后建议重复原因1的解决方案设置一次,保证能达到想要的字符长度。

  本文完,希望可以帮助大家。

原文地址:https://www.cnblogs.com/zw0718/p/11303258.html