火车头采集器采集正常,发布失败提示无标题(实际上标题采集正常)
出现下面这种现象:
数据库主机:
[localhost]一般为localhost
数据库名称:
[dedecmsv56gbk]
数据库用户:
[root]
数据库密码:
[]数据库连接失败!
数据表前缀:
[dede_]如无特殊需要,请不要修改
数据库编码:
[]GBK
[
]
LATIN1
仅对41+以上版本的MySql选择
出现以上原因主要是信息填写不正确
1、数据库主机:
请确保您的数据库和主机在同一台服务器上,否则不要使用localhost,老老实实填写数据库IP。
2、数据库名称、数据库用户、数据库密码
这三个问题在虚拟主机\空间里的数据库管理上面就可以看到。不要使用默认的,一定要自己填写!
3、数据库前缀和数据库编码
这两项一般不用动,默认即可!
最终列表栏目(允许在本栏目发布文档,并生成文档列表)
频道封面(栏目本身不允许发布文档)
得根据这个来的,
你可以吧最终列表栏目的模板改成频道模板,模板里可以调用其他内容的!
1
大家都知道php有个函数htmlspecialchars()是将预定义字符串做转换的,而htmlspecialchars()这个函数在php54默认为utf8编码的
2
一般建站新手站长搭建织梦环境都是用的dedeampz织梦集成环境一键搭建的织梦环境,原因就在这里了,dedeampz搭建完成的CMS网站默认的编码格式是gbk的
3
如果你安装的是织梦53或者56可能没事,因为dede56之前的版本其中php的版本默认配置的是53版本的php,但是织梦57开始集成其中的php是54版本的,而这时的php54默认编码格式跟环境的编码格式冲突(格式不一致)
4
格式不一致的时候如果你输入的标题是纯英文+数字,这没问题,能正常使用,因为编码格式utf-8跟gbk的区别在于中文字符
5
如果你输入的是中文字符,那么htmlspecialchars()函数在转换的时候因为编码格式不同导致的乱码是他不识别,所以就直接输出空,因为他什么也没有转过来,这也就是为什么你输入汉语标题提交,却提示“标题不能为空”的原因!
6
问题分析清楚了,解决方法也很明显了,下面提供两种解决方法
第一种:将php的版本切换回53版本或者比53更早的版本的,这个问题自然就解决了
7
第二种:给htmlspecialchars(函数)添加ENT_COMPAT ,'GB2312'
就是给php的这个函数强制设定编码格式,这样也能解决这个问题,具体对应的位置是
①:dede/article_addphp 这个php文件中查找
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');
②:然后再找到dede/article_editphp这个php文件中查找
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');
③:include/ckeditor/ckeditor_php5php 查找
htmlspecialchars($value)
改为htmlspecialchars($value, ENT_COMPAT ,'GB2312')
这样也能解决以上问题
本文采用http://jingyanbaiducom/article/11c17a2c60027df446e39d0chtml站点信息
解决的请点赞
0条评论