免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1157 | 回复: 0
打印 上一主题 下一主题

使用dedecms的utf-8改版中的一些问题及自行解决办法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-23 09:45 |只看该作者 |倒序浏览
4月8日在
http://www.utf8cms.cn/
下载了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_
www.php
调用字典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'/}
var imagePageBody = document.getElementById('imagePageBody');
imagePageBody.innerHTML = imagePageBody.innerHTML.replace('分页标题#e#', '');
也就是用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=&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正确,上传到网站后,这儿改成空,页面中这儿竟然被解析成当前目录


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/6138/showart_284116.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP