【 以下文字转载自 cn_bbs_admin 讨论区 】
【 原文由 yuhuan 所发表 】
首先确认没有 GB<->BIG5 时转信系统正常工作。
我们要做的是,加上一个叫 filter 的东西,在转入转出的时候进行自动的转码
我这里的 innbbsd 默认是不开 filter 的,那么咱们先把它打开
修改 Makefile,确认一下
#LANG=BIG5
LANG=GB
#LANG=ENGLISH
FILTER=-DFILTER
FILTEROBJ= filter.o wildmat.o
这里我们不用内建的过滤器而用外部程序,所以应该 -DFILTER就够了
这样就 filter 打开了。
下一步,我们找两个程序,big2gb和gb2big
这两个程序的作用就是把输入转个码然后输出
这里有几个选择,用adoal同学的那个就很不错
好了,现在重新编译 innbbsd,装到 ~bbs/innd,应该重起一下 innbbsd,
Czz,主动转信的这里是不是应该先
ctlinnbbsd shutdown还是什么的免得破坏history吧?
然后编辑 ~bbs/innd/filter.ctl
写一行 tw.*:big2gb:gb2big
big2gb gb2big两个程序应该放到能找到的地方,比如 ~bbs/innd,
否则就把路径写全吧。
好了,现在用主动取信的方法到 news.cn99.com 取一下 tw.bbs.* 某个组
暂时先用 null 写在 newsfeeds.bbs 第三栏,不转出,先测试转入
tw.bbs.test有好些英文的很让我faint,找别的中文的比较多的组吧
如果没什么问题,现在你已经证明了 filter 和 big2gb 工作了
如果有问题,恭喜你,检查一遍哪里做错了,然后再检查一遍
然后到 cn.bbs.admin 来问吧。
如果上一步通过了,那么我们改到 tw.bbs.test 组测试转出,免得被骂
反正我这里转出是有问题,gb2big 根本就没 work
后来发现 filter 根本就没有被调用
经 hightman 点拨,bbslink.c居然是个不支持 filter 的低版本的
#@$#$%#$%$#%,老鼠屎一锅汤
依 hightman 给的 patch file修正 bbslink.c
然后重新编译,测试,通过
如果有问题,检查一遍哪里错了,然后再检查一遍
然后到 cn.bbs.admin 来问吧
patch 档和我的 bbslink.c 在后面给出,供参考
--
FROM 162.105.106.53