4月8日在下载了dedecms4的UTF8改版,应该是基于dedecms4的rc1版改的吧.在自己站应用时发觉不少问题.特记录下来
在dedecms4的utf8改版中,发布文档时可能出现: 更新数据库archives表时出错,请检查! 或 把数据保存到数据库archives表时出错,请检查! 以上两种情况分别为修改和新增,对应的php为 article_eidt_action.php和article_add_action.php,数据库操作为include/pub_db_mysql.php,中文字符串截取为
include/inc_functions.php中的cn_substr函数,此函数只支持双字节即gbk编码,所以要改成截取utf-8的.此时edit已正常,但add还出错,把 if(!$dsql->ExecuteNoneQuery()){ $dsql->Close(); ShowMsg("把数据保存到数据库archives表时出错,请检查!","-1"); exit(); } 改成 if(!$dsql->ExecuteNoneQuery()){ $errorSql = htmlSpecialchars($dsql->queryString); $errorMsg = htmlSpecialchars(mysql_error()); $dsql->Close(); //ShowMsg("把数据保存到数据库archives表时出错,请检查!","-1"); //ShowMsg是document.write的js方法,不知为什么在加入$errorSql后不显示,所以用echo echo "把数据保存到数据库archives表时出错,请检查!查询语句: $errorSql mysql错误提示: $errorMsg "; exit(); } 看提示是keywords字段长了,原来是中文分词时出错,include/pub_splitword_调用字典include/data/dede_wwwdic.csv,可csv是gbk编
码的.改分词程序没成功,所以不分词了,关键字手工填就是了.把article_add_action.php中的
//自动获取文章中的关键字 //---------------------------------- if($autokey==1||$keywords==""){
改成 //自动获取文章中的关键字 //---------------------------------- if(0 && ($autokey==1||$keywords=="")){
发布文档后的成功提示无法显示, 把include/win_templet.htm中 charset={dede:cfg_language/}改成 charset=utf-8
更新html那个框架中的字乱码,在浏览器中选utf8就行,但不知在哪个文件中改
图片栏目如果选分页显示,会在第2页开始图片上方有一行字:分页标题#e#,找不到在哪改,因此修改
dede/templates/default/article_iamge.htm,把
{dede:field name='imgurls'/}
改成
{dede:field name='imgurls'/} 也就是用js把这串字符替换
dede/article_eidt.php有错误,没有定义SelectTemplets函数,所以不能选择模板,在页面上方的js中把这个函数加上 function SelectTemplets(fname) { var posLeft = window.event.clientY-200; var posTop = window.event.clientX-300; window.open("../include/dialog/select_templets.php?&activepath==urlencode($cfg_templets_dir.'/plus')?>&f="+fname,
"poptempWin", "scrollbars=yes,resizable=yes,statebar=no,width=600,height=400,left="+posLeft+", top="+posTop); }
程序的一些bug: 1.article_eidt.p,hp编辑选模板有js错误,并且无法在ff中使用这个函数,因为不支持window.event 2.栏目如果是频道列表,生成页后子频道的文档无法在该页显示,进入子频道才能看到 3.图片栏目如果选分页显示,会在第2页开始图片上方有一行字:分页标题#e#,不知是UTF-8改的原因还是bug 4.图片栏目修改文档后,最后一页没重新生成?选生成文档HTML才搞定 5.UTF8部分,分词和拼音还无法解决,生成html的提示乱码,一定要手工指定编码为utf8 6.图片栏目中生成缩略图有问题.好在不会在列表页显示出错 7.文章栏目中GIF图片似乎都无法生成缩略图? 8.dede/inc/writer.txt和dede/inc/source.txt都应该设成可写 9.两个广告紧连着会出问题,如{dede:myad name='abc'/}和{dede:myad name="efg" /}连着,后一个就会显示成文字.只有分开 10.在本地测试时安装在非根目录下,首页连接用cfg_cmspath正确,上传到网站后,这儿改成空,页面中这儿竟然被解析成当前目录
阅读(1038) | 评论(0) | 转发(0) |