collabtive, 不错的项目管理工具, 将在新项目中使用之;

但在默认安装 collabtive-11 之后 发现在里面输入中文后会出错, 网上找不了少资料但对 11这版本的中文支持的修改不起不作用.

后来自己寻找答案, 终于找到可用之方, 记之于此, 方便众人.

步骤1: 在创建 collabtive的数据库是指定字符编码为 utf8, 命令如下:

create database if not exists collabtive default character set utf8;

步骤2: 打开install_mysql.php 文件, 将所有创建的表指定字符编码为 utf8(这儿有一个collabtive开发的问题,在所有创建的20个表中,第1,2个表的字符编码设置为了utf8,但后面的表的字符编码却是默认的, 甚是奇怪,不明白). 修改后的 install_mysql.php 如下:

<?php
if($installer_include != "yes")
{
die("this file can only be included");
}
$conn = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
if (!($conn)) {
$template->assign("errortext", "Database connection could not be established. <br>Please check if database exists and check if login credentials are correct.");
$template->display("error.tpl");
die();
}
// Create MySQL Tables
$table1 = $conn->query("CREATE TABLE IF NOT EXISTS `company` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`company` varchar(255) NOT NULL,
`contact` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`phone` varchar(64) NOT NULL,
`mobile` varchar(64) NOT NULL,
`url` varchar(255) NOT NULL,
`address` varchar(255) NOT NULL,
`zip` varchar(16) NOT NULL,
`city` varchar(255) NOT NULL,
`country` varchar(255) NOT NULL,
`state` varchar(255) NOT NULL,
`desc` text NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table2 = $conn->query("CREATE TABLE IF NOT EXISTS `company_assigned` (
`ID` int(10) NOT NULL auto_increment,
`user` int(10) NOT NULL,
`company` int(10) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table3 = $conn->query("CREATE TABLE `files` (
`ID` int(10) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`desc` varchar(255) NOT NULL default '',
`project` int(10) NOT NULL default '0',
`milestone` int(10) NOT NULL default '0',
`user` int(10) NOT NULL default '0',
`tags` varchar(255) NOT NULL default '',
`added` varchar(255) NOT NULL default '',
`datei` varchar(255) NOT NULL default '',
`type` varchar(255) NOT NULL default '',
`title` varchar(255) NOT NULL default '',
`folder` int(10) NOT NULL,
`visible` text NOT NULL,
PRIMARY KEY (`ID`),
KEY `name` (`name`),
KEY `datei` (`datei`),
KEY `added` (`added`),
KEY `project` (`project`),
KEY `tags` (`tags`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table4 = $conn->query("CREATE TABLE `log` (
`ID` int(10) NOT NULL auto_increment,
`user` int(10) NOT NULL default '0',
`username` varchar(255) NOT NULL default '',
`name` varchar(255) NOT NULL default '',
`type` varchar(255) NOT NULL default '',
`action` int(1) NOT NULL default '0',
`project` int(10) NOT NULL default '0',
`datum` varchar(255) NOT NULL default '',
PRIMARY KEY (`ID`),
KEY `datum` (`datum`),
KEY `type` (`type`),
KEY `action` (`action`),
FULLTEXT KEY `username` (`username`),
FULLTEXT KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table5 = $conn->query("CREATE TABLE `messages` (
`ID` int(10) NOT NULL auto_increment,
`project` int(10) NOT NULL default '0',
`title` varchar(255) NOT NULL default '',
`text` text NOT NULL,
`tags` varchar(255) NOT NULL,
`posted` varchar(255) NOT NULL default '',
`user` int(10) NOT NULL default '0',
`username` varchar(255) NOT NULL default '',
`replyto` int(11) NOT NULL default '0',
`milestone` int(10) NOT NULL,
PRIMARY KEY (`ID`),
KEY `project` (`project`),
KEY `user` (`user`),
KEY `replyto` (`replyto`),
KEY `tags` (`tags`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table6 = $conn->query("CREATE TABLE `milestones` (
`ID` int(10) NOT NULL auto_increment,
`project` int(10) NOT NULL default '0',
`name` varchar(255) NOT NULL default '',
`desc` text NOT NULL,
`start` varchar(255) NOT NULL default '',
`end` varchar(255) NOT NULL default '',
`status` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `name` (`name`),
KEY `end` (`end`),
KEY `project` (`project`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table7 = $conn->query("CREATE TABLE `milestones_assigned` (
`ID` int(10) NOT NULL auto_increment,
`user` int(10) NOT NULL default '0',
`milestone` int(10) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `user` (`user`),
KEY `milestone` (`milestone`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table8 = $conn->query("CREATE TABLE `projekte` (
`ID` int(10) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`desc` text NOT NULL,
`start` varchar(255) NOT NULL default '',
`end` varchar(255) NOT NULL default '',
`status` tinyint(1) NOT NULL default '0',
`budget` float NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `status` (`status`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table9 = $conn->query("CREATE TABLE `projekte_assigned` (
`ID` int(10) NOT NULL auto_increment,
`user` int(10) NOT NULL default '0',
`projekt` int(10) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `user` (`user`),
KEY `projekt` (`projekt`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table10 = $conn->query("CREATE TABLE `settings` (
`ID` int(10) NOT NULL auto_increment,
`settingsKey` varchar(50) NOT NULL,
`settingsValue` varchar(50) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table11 = $conn->query("CREATE TABLE `tasklist` (
`ID` int(10) NOT NULL auto_increment,
`project` int(10) NOT NULL default '0',
`name` varchar(255) NOT NULL default '',
`desc` text NOT NULL,
`start` varchar(255) NOT NULL default '',
`status` tinyint(1) NOT NULL default '0',
`access` tinyint(4) NOT NULL default '0',
`milestone` int(10) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `status` (`status`),
KEY `milestone` (`milestone`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table12 = $conn->query("CREATE TABLE `tasks` (
`ID` int(10) NOT NULL auto_increment,
`start` varchar(255) NOT NULL default '',
`end` varchar(255) NOT NULL default '',
`title` varchar(255) NOT NULL default '',
`text` text NOT NULL,
`liste` int(10) NOT NULL default '0',
`status` tinyint(1) NOT NULL default '0',
`project` int(10) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `liste` (`liste`),
KEY `status` (`status`),
KEY `end` (`end`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table13 = $conn->query("CREATE TABLE `tasks_assigned` (
`ID` int(10) NOT NULL auto_increment,
`user` int(10) NOT NULL default '0',
`task` int(10) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `user` (`user`),
KEY `task` (`task`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table14 = $conn->query("
CREATE TABLE `user` (
`ID` int(10) auto_increment,
`name` varchar(255) default '',
`email` varchar(255) default '',
`tel1` varchar(255),
`tel2` varchar(255) ,
`pass` varchar(255) default '',
`company` varchar(255) default '',
`lastlogin` varchar(255) default '',
`zip` varchar(10) ,
`gender` char(1) default '',
`url` varchar(255) default '',
`adress` varchar(255) default '',
`adress2` varchar(255) default '',
`state` varchar(255) default '',
`country` varchar(255) default '',
`tags` varchar(255) default '',
`locale` varchar(6) default '',
`avatar` varchar(255) default '',
`rate` varchar(10) ,
PRIMARY KEY (`ID`),
UNIQUE KEY `name` (`name`),
KEY `pass` (`pass`),
KEY `locale` (`locale`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table15 = $conn->query("CREATE TABLE `chat` (
`ID` int(10) NOT NULL auto_increment,
`time` varchar(255) NOT NULL default '',
`ufrom` varchar(255) NOT NULL default '',
`ufrom_id` int(10) NOT NULL default '0',
`userto` varchar(255) NOT NULL default '',
`userto_id` int(10) NOT NULL default '0',
`text` varchar(255) NOT NULL default '',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table16 = $conn->query("CREATE TABLE `files_attached` (
`ID` int(10) unsigned NOT NULL auto_increment,
`file` int(10) unsigned NOT NULL default '0',
`message` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `file` (`file`,`message`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table17 = $conn->query("CREATE TABLE `timetracker` (
`ID` int(10) NOT NULL auto_increment,
`user` int(10) NOT NULL default '0',
`project` int(10) NOT NULL default '0',
`task` int(10) NOT NULL default '0',
`comment` text NOT NULL,
`started` varchar(255) NOT NULL default '',
`ended` varchar(255) NOT NULL default '',
`hours` float NOT NULL default '0',
`pstatus` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `user` (`user`,`project`,`task`),
KEY `started` (`started`),
KEY `ended` (`ended`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table18 = $conn->query("CREATE TABLE `projectfolders` (
`ID` int(10) unsigned NOT NULL auto_increment,
`parent` int(10) unsigned NOT NULL default '0',
`project` int(11) NOT NULL default '0',
`name` text NOT NULL,
`description` varchar(255) NOT NULL,
`visible` text NOT NULL,
PRIMARY KEY (`ID`),
KEY `project` (`project`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table19 = $conn->query("
CREATE TABLE `roles` (
`ID` int(10) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`projects` text NOT NULL,
`tasks` text NOT NULL,
`milestones` text NOT NULL,
`messages` text NOT NULL,
`files` text NOT NULL,
`chat` text NOT NULL,
`timetracker` text NOT NULL,
`admin` text NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); $table20 = $conn->query("
CREATE TABLE `roles_assigned` (
`ID` int(10) NOT NULL auto_increment,
`user` int(10) NOT NULL,
`role` int(10) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"); // Checks if tables could be created
if (!$table1 or !$table2 or !$table3 or !$table4 or !$table5 or !$table6 or !$table7 or !$table8 or !$table9 or !$table10 or !$table11 or !$table12 or !$table13 or !$table14 or !$table15 or !$table16 or !$table17 or !$table18 or !$table19 or !$table20) {
$template->assign("errortext", "Error: Tables could not be created.");
$template->display("error.tpl");
die();
} ?>

即在每个表的 后面添加了

 DEFAULT CHARSET=utf8

修改好后, 需要重装collabtive, 对于不能重装的, 想想其他修改Mysql 表字符编码的办法吧.

-----  以上操作完成后就能保证在中文在collabtive里面正常使用啦.

对于上传文件, 新建文件夹 支持中文的设置, 请参考 http://www.shakewww.net/20120623/191.html.

经证明该文章对文件,文件夹的中文支持 的设置在 11版本中是可行的.

此致....

让 collabtive-11 支持中文的更多相关文章

  1. C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 616人阅读 评论(1) 收藏

    1.下载Qrcode库源码,下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library 2.打开源码时,部分类库 ...

  2. 【Python】一、除法问题及基本操作(逻辑与,if替代switch)及支持中文打印

    1.查看版本 C:\Users\XXX>python -V Python 2.7.1 2.除法问题(不要整除) from __future__ import division tmp=0x3ec ...

  3. centos中文乱码修改字符编码使用centos支持中文

    如何你的centos显示中文乱码,只要修改字符编码使centos支持中文就可以了,没有这个文件可以创建它,下面是修改步骤 一.中文支持 安装中文语言包: 复制代码 代码如下: yum groupins ...

  4. jquery.qrcode.min.js(支持中文转化二维码)

    详情请看:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/jqueryqrcodeminjs/ 今天还是要讲一下关于二维码的知识,前 ...

  5. 使用jquery-qrcode在页面上生成二维码,支持中文

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Raneto部署知识库平台&支持中文搜索

    目录 环境 更新软件包 部署 Raneto 知识库平台 安装 Node 环境 安装 node 管理工具 查看 node 列表 安装需要的Node版本 使用 淘宝NPM源 git 使用代理设置,大陆地区 ...

  7. 美化你的GRUB,全面支持中文(菜单、提示、帮助)适用7.04-9.04

    本文根据网络资料整理而成,在此鸣谢各位作者. 本方法适合 7.04-9.04版本,9.10使用了grub2,请看这里. http://forum.ubuntu.org.cn/viewtopic.php ...

  8. 用Java发送HTML格式邮件测试类(支持中文)

    代码由纯Java写成,支持中文,一目了然,只要将Main函数中的相关信息填写正确就直接用了,便于修改,可以在此类基础上任意扩展成自己的类. 注意做HTML形式的邮件,最好把HTML,CSS都写全,只写 ...

  9. Sphinx在windows下安装使用[支持中文全文检索]

    原文地址:http://www.fuchaoqun.com/2008/11/sphinx-on-windows-xp/ 前 一阵子尝试使用了一下Sphinx,一个能够被各种语言(PHP/Python/ ...

随机推荐

  1. Linux突然断电后文件丢失的问题

      原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://yuyongid.blog.51cto.com/10626891/168504 ...

  2. Oracle EBS-SQL (PO-2):检查当月到货补单的记录数.sql

    SELECT          DECODE(PLLA.FROM_LINE_ID,'-1','手工','','自动创建') 下达方式,          rsh.receipt_num         ...

  3. 论山寨手机与Android联姻 【3】手机是怎样生产出来的

    要说清楚MTK在商业模式上有什么优势,以及Android对于MTK未来的手机开发会有什么影响,首先得了解手机从设计,开发到生产的整个过程.让我们先来看看手机的生产过程.在生产制造环节,山寨手机和正牌手 ...

  4. android 的线程模型和AsyncTask

            android 的线程模型:当一个 android 的应用运行后,就会有一个 UI 的 main 线程启动 , 这是一个非常重要的线程,它负责把事件分派到相应的控件,其中就包括屏幕绘图 ...

  5. poj 2513 Colored Sticks (trie 树)

    链接:poj 2513 题意:给定一些木棒.木棒两端都涂上颜色,不同木棒相接的一边必须是 同样的颜色.求能否将木棒首尾相接.连成一条直线. 分析:能够用欧拉路的思想来解,将木棒的每一端都看成一个结点 ...

  6. 服务器:RAID、AHCI、IDE

    RAID 独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法.通过把数据放在多个硬盘上 ...

  7. svn代码版本管理

    1.0开发,做dev1.0的branch此时的目录结构svn://proj/             +trunk/ (不负担开发任务)             +branches/          ...

  8. ajax相关

    Javascript·部分: <script language="javascript" type="text/javascript" src=" ...

  9. Linux 07 故障恢复

    1. 模拟MBR扇区被破坏后的修复. MBR故障恢复: 1.备份 添加硬盘 启动操作系统: 添加硬盘: 对分区格式化: 挂载: 做备份: 破坏MBR 重启系统: 关闭虚拟机 设置光盘启动 救援模式: ...

  10. C语言统计运行时间

    clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t. 在MSDN中,查得对clock函数定义如下: clock_t clock(void) ;   简单而言,就是该程序从启动 ...