/**********************************/
/* Jforum安装与中文化设置 */
/* */
/* author: atom chan */
/* date: 2008.10.22 */
/*********************************/
本文水平有限,但是希望转载能注明出处。(http://eatdrinkmanwoman.spaces.live.com/blog/cns!97719476F5BAEDA4!999.entry)
/**********************/
/* 简介 */
/**********************/
Jforum是一款开源的java类的论坛,小巧高效,运用了很多JSP新技术,支持hsqldb、oracle、mysql、
postgresql数据库,完全遵从MVC设计模式,能够在任何Servlet容器与EJB服务器上运行,当前的版
本是2.1.8。
更多信息请参考项目主页: www.jforum.net
本文安装环境
windows sp3 tomcat-5.5.26 mysql-5.0.67-win32
/******************/
/* 安装步骤 */
/******************/
1.在cmd下以root身份进入mysql的shell
C:\Documents and Settings\atom>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1477
Server version: 5.0.67-community-nt MySQL Community Edition (GPL)
Type ’help;’ or ’\h’ for help. Type ’\c’ to clear the buffer.
mysql>
2.查看现有的database。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
现在新建一个名为jforum的database,字符集设为utf-8,为了避免中文乱码问题。
mysql> create database jforum character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
再查看一下,database jforum确实已经建好。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| jforum |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
3.将jforum.war复制到tomcat的webapps文件夹下,启动tomcat
打开浏览器,进入http://localhost/jforum/install.jsp
进行自动安装,按照提示进行填写。
数据库编码一项,选择utf-8
数据库名称一项,请和第2步创建的数据库名一致。
完成后点击下一步,确认无误后开始安装。
4.完成安装后先不进入论坛。修改一些配置文件以支持中文。
(1) 打开jforum/WEB-INF/config/SystemGlobals.properties
将default.container.encoding = ISO-8859-1,修改为:
default.container.encoding = UTF-8
这里是设置容器的编码。由于我在tomcat的conf/server.xml中设置过URIEncoding="UTF-8",所以这里要一致。
tomcat默认的编码是iso-8859-1,如果你没有改动,此处可以不修改。
(2) 打开jforum/WEB-INF/config/jforum-custom.conf
定位到database.connection.string一项,在末尾追加
&useUnicode\=true&characterEncoding\=utf8
5.重新启动tomcat,进入http://localhost/jforum/forums/list.page
以admin身份登录,可以到后台设置论坛了。
进入后有个错误提示,但是好像不影响使用。
/********************************/
/* 论坛后台设置部分说明 */
/********************************/
论坛后台设置大体上讲是见名知意的。推荐优先参考官方wiki:www.jforum.net/wiki.jsp
基本上都做了解答。
有两个地方让我比较困惑,附件设置与群组权限管理。
section A:附件设置
我第一次设置附件的时候,没有看wiki。“扩展名分组”与“扩展名”设置让我迷惑不解。其实wiki上已经说的相当清楚,建议看http://www.jforum.net/doc/ExtensionsAndExtensionGroups
首先要创建一个“扩展名分组”,“分组名”可以是“图片”,“压缩包”,这类统称;“允许”一项一定要勾上,不勾就表示是禁止上传的附件;“下载方式”,不论是“在线”还是“实体”,我发现没有太大区别。“上传图标”为空的话,就默认使用“附件发表图示”中的“images/icon_clip.gif”。我试着使用自己定义的图标,按照wiki上说是相对路径,但是设来设去都不对,作罢。
其次新建一个“扩展名”,每项只能写一个,比如“jpg”,“扩展名注释”随便写,组名选“图片”。
建议新建“*”扩展名,组名任意,“允许”一项不勾取,这样可以做到凡是没有明确允许的扩展名,都无法上载。
section B:群组权限管理
【越级管理员】
越级是指越过群组设置的上下层关系
【分类管理】
选中表示不可见,允许全部表示全部可见
【版块】
选中表示不可见,允许全部表示全部可见(依赖于分类管理的设置)
【匿名发帖】
选中表示该版块禁止匿名用户发帖,允许全部表示匿名用户可以发贴
【只允许回复】
选中表示该版块禁止发主体帖,允许全部表示所有板块可以发主体帖(依赖于分类管理、版块)
【设置主题置顶,公告等】 【发起投票】 【投票】
一旦设置,则是在所有版面允许(依赖于分类管理、版块)
【只读版块】
选中表示该板块只读,允许所有表示不做限制
【限制回复】
选择 '允许全部'将不限制对所有版块的回复,选中指定的版块代表不允许在选择的版本中回复信息?????我不太明白它的意思。
【附件相关】
允许下载附件:选中表示禁止下载该版面附件,'允许全部'表示可以下载所有版面附件
这个意思。。。很绕
【其它 / 一般权限】
管理活动日志是指删贴记录等
【版主】
我的理解:版主是按照群组划分,而不是按照角色。
比如a用户属于A群组,我要设置他为pc版版主。
那我这样设置:
是否允许设置为版主:选“是”
不能修改的论坛: 不选中“pc”版
很绕吧
别的就没什么好说了。
/*************************/
/* 其它 */
/*************************/
谁在使用Jforum?
我刚好看到一个现成的例子,http://forum.ubuntu.org.cn/
是的,Jforum有一些小bug,但是不痛不痒的。我也没兴趣读源码修改,将就用了。
这种tomcat为容器快速部署的小论坛,还是很有生命力的。公司内部网,小区业主论坛,都可以用这个搞。
/************************/
/* plus: 为什么会出现中文乱码? */
/************************/
这个问题在web开发中经常出现,我自己也碰到过。这里谈一点我的理解。
乱码问题的实质在于编码不一致。一个web项目,包括数据库,容器(服务器),页面,
浏览器 服务器 数据库
______ out in ________ out in _________
| | ----------> | | ----------> | |
| 页面 | | 容器 | | db tables|
|______|<---------- |________| <---------- |________|
in out in out
这三个entry内部都有自己的默认的编码方式,任何一个entry,从上游取得数据,
a.如果上游传来的数据没有明确指示采用何种编码
那就按照entry默认的编码方式来读取数据,给下游输出的数据也是按照entry默认的编码组织。
这时候假如上游和entry的编码不一致,entry也不管那么多,反正按照它自己的编码来读,读不懂的地方呢,
就喷上一堆问号草草了事。
b.如果上游传来的数据有明确指示了编码方式
则entry内部会进行编码转换,转换为上游指定的编码方式来处理,输出给下游的数据也是转换后的编码。
这三个entry中最容易搞定的是浏览器,浏览器的作用就是把容器生成的页面显示给用户,(以jsp页面为例)一般在页
面的开头都有<%@ page pageEncoding="xxx"%> <%@ page contentType="text/html,charset=xxx" %>字样,它可以
告知浏览器用什么编码方式来读(一般我们的浏览器编码是设为自动选择)。同时,页面由浏览器回炉给容器时,页面
开头的编码字样也可以告知容器用什么编码来处理。
有一些大站的国际化做的很好,会根据用户浏览器的编码设置,自动推送对应的编码页面。这样负担有些大,小网站这
样做有些不划算。
当今的趋势是utf-8一统江湖,尤其是国外的站点,基本上是这样做了,成为事实上的建站标准。而我们国内的大部分
网站还停留在gbk/gb2312和IE6标准,这是一个遗留问题,有些网站已经建了七八年,一改要全改,太麻烦了。
所以,新建设网站的时候,我们还是赶上潮流遵循W3C吧。
分享到:
相关推荐
### JForum 安装部署详解 #### 一、概述 JForum是一款开源的Java类论坛系统,以其小巧高效而著称。它不仅采用了多种JSP新技术,还支持多种数据库(如HSQLDB、Oracle、MySQL、PostgreSQL等),并且遵循MVC设计模式...
6. **初始化论坛**:首次启动应用后,访问JForum的安装URL(通常是服务器地址/jforum/install),按照提示完成论坛的初始化设置,包括管理员账号创建、语言选择等。 四、语言设置 在你提供的文件列表中,有两个与...
4. 启动Tomcat,访问JForum的安装页面,根据提示完成论坛的初始化设置。 5. 版面设计:根据需求设计论坛的版块,可以创建多个版块并分配不同的权限。 6. 用户管理:设置用户分组,如管理员、版主和普通用户,定义...
描述中提到,这套中文版按钮贴图是根据网上素材绘制的,虽然可能在美观度上有所欠缺,但仍然能满足那些寻找Jforum中文按钮资源的需求。在使用这套资源时,用户需要先将压缩包文件解压。解压后,会得到一个名为"zh_...
5. **国际化与本地化** JForum3的多语言支持得益于其强大的国际化(i18n)和本地化(l10n)机制。源代码中包含各种语言的资源文件,使得论坛可以根据用户选择的语言显示相应内容。 6. **数据库设计** JForum3的...
5. **集成性**:由于金山顶尖的Web服务基于Java,与Jforum的集成更加顺畅。 然而,Jforum也存在一些挑战: 1. **界面与功能模块**:Jforum的前端界面和功能模块可能需要重新设计和整理,以满足特定需求。 2. **...
根据提供的信息,我们可以详细解析与中文的jForum表结构相关的各个数据表及其字段,以便更好地理解这些表在论坛系统中的作用以及它们是如何协同工作的。 ### 1. 附件关系表 JFORUM_ATTACH 该表主要负责存储论坛内...
无论是英文、中文还是其他语言,都可以通过简单的配置实现论坛界面的语言切换,满足全球化社区的需求。对于2.1.9版,开发者可能已经修复了一些已知的语言包问题,使得翻译更加准确,用户体验更佳。 当提到MyEclipse...
【标题】"纯手工制作jforum中文图标zh_CH"揭示了这个压缩包文件的主要内容是针对Jforum论坛系统的一套中文图标。Jforum是一个流行的开源Java论坛软件,它提供了丰富的功能,包括用户管理、版块创建、帖子发布等。这...
- **Bug修复**:解决中文乱码问题以及其他由于本地化差异导致的错误,包括日期格式等。 - **功能定制**:根据国内用户的特殊需求对现有工具进行定制或改进,如UI设计调整等。 - **新工具开发**:如果现有工具无法...
Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...
中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...
中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...
中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...
中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...
中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...