Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[经验] 用SQL小刀解决discuz论坛帖子无法回行的问题

[复制链接]
goooder 发表于 2009-3-18 15:36:53 | 显示全部楼层 |阅读模式
本帖最后由 goooder 于 2009-3-18 15:40 编辑

如果是从dvbbs或者discuz旧版本升级到discuz 6.0以上的版本,有时候会出现原来帖子格式丢失的问题。因为有些帖子是以html语法存储的,而有些帖子却是以普通文本格式存储的。

discuz在解释此帖子时,会根据标志htmlon来区分。这样,可能就会造成显示的问题。解决的方法当然是去判断帖子内容格式究竟以什么格式存储的,以此来决定htmlon是1还是0。没有找到类似的程序,只能自己用SQL来解决了。

可以打开几个格式错误的帖子,用来判断SQL语句的执行结果。这个帖子的选取当然最好典型了。

在执行SQL之前,推荐备份论坛数据库。

我的网站共同努力网大多数显示不正确的帖子都是因为是普通文本解释成html格式而造成的。实际上,是我用了语句


    UPDATE `cdb_posts` SET `htmlon` = '1'

造成的。

所以,执行:

    1. UPDATE `cdb_posts` SET `htmlon` = '0'  【将其都认为是普通文本帖子】

    2. UPDATE cdb_posts SET htmlon=0 where message like '%<BR%')  【将含有<br>之类字符串帖子认为是Html格式的,这会解决一大半帖子的显示问题】

    3. UPDATE cdb_posts SET htmlon=0 where message like '%<table%') 【解决之类的漏网之鱼】


通过诸如此类的命令,两三下就搞定了~~

评分

1

查看全部评分

回复

使用道具 举报

ejew 发表于 2009-3-18 16:35:57 | 显示全部楼层
感谢分享
回复

使用道具 举报

蓝豆 发表于 2009-3-18 21:21:43 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-17 06:45 , Processed in 0.126248 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表