让 collabtive-11 支持中文
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 支持中文的更多相关文章
- C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 616人阅读 评论(1) 收藏
1.下载Qrcode库源码,下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library 2.打开源码时,部分类库 ...
- 【Python】一、除法问题及基本操作(逻辑与,if替代switch)及支持中文打印
1.查看版本 C:\Users\XXX>python -V Python 2.7.1 2.除法问题(不要整除) from __future__ import division tmp=0x3ec ...
- centos中文乱码修改字符编码使用centos支持中文
如何你的centos显示中文乱码,只要修改字符编码使centos支持中文就可以了,没有这个文件可以创建它,下面是修改步骤 一.中文支持 安装中文语言包: 复制代码 代码如下: yum groupins ...
- jquery.qrcode.min.js(支持中文转化二维码)
详情请看:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/jqueryqrcodeminjs/ 今天还是要讲一下关于二维码的知识,前 ...
- 使用jquery-qrcode在页面上生成二维码,支持中文
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Raneto部署知识库平台&支持中文搜索
目录 环境 更新软件包 部署 Raneto 知识库平台 安装 Node 环境 安装 node 管理工具 查看 node 列表 安装需要的Node版本 使用 淘宝NPM源 git 使用代理设置,大陆地区 ...
- 美化你的GRUB,全面支持中文(菜单、提示、帮助)适用7.04-9.04
本文根据网络资料整理而成,在此鸣谢各位作者. 本方法适合 7.04-9.04版本,9.10使用了grub2,请看这里. http://forum.ubuntu.org.cn/viewtopic.php ...
- 用Java发送HTML格式邮件测试类(支持中文)
代码由纯Java写成,支持中文,一目了然,只要将Main函数中的相关信息填写正确就直接用了,便于修改,可以在此类基础上任意扩展成自己的类. 注意做HTML形式的邮件,最好把HTML,CSS都写全,只写 ...
- Sphinx在windows下安装使用[支持中文全文检索]
原文地址:http://www.fuchaoqun.com/2008/11/sphinx-on-windows-xp/ 前 一阵子尝试使用了一下Sphinx,一个能够被各种语言(PHP/Python/ ...
随机推荐
- memcache 安装教程
memcached:官网http://memcached.org/ 说明:memcached本身没有Linux版本,网上的windows 版本都是个人开发的. memcached和memcache区别 ...
- API之IP地址查询---权威的IP地址查询接口集合
原文地址:http://yushine.iteye.com/blog/1717586 推荐实用IP138 http://www.baidu.com/s?wd=IP&rsv_spt=1& ...
- hdu 2769 uva 12169 Disgruntled Judge 拓展欧几里德
//数据是有多水 连 10^10的枚举都能过 关于拓展欧几里德:大概就是x1=y2,y1=x2-[a/b]y2,按这个规律递归到gcd(a,0)的形式,此时公因数为a,方程也变为a*x+0*y=gcd ...
- 安装vmware tools失败解决方法
失败提示: reating a new initrd boot image for the kernel. update-initramfs: Generating /boot/initrd.img- ...
- WMware VMX格式转换成OVF
1.关于VMX格式 vmx文件是vmware虚拟机系统的配置文件,注意:刚刚安装好VMware Workstation以后是找不到这个文件的,当你在VMware Workstation中建立了一个虚拟 ...
- jquery实现隐藏显示层动画效果、仿新浪字符动态输入、tab效果
已经有两年多没登陆csdn账号了,中间做了些旁的事,可是现在却还是回归程序,但改做前端了,虽然很多东西都已忘得差不多了,但还是应该摆正心态,慢慢来,在前端漫游,做一只快乐双鱼. 路是一步一步走出来的, ...
- Python 随即生成DAG(有向无环图)
给校队选拔赛出了道DAG上的背包问题,需要生成DAG数据. 最开始使用的方法是先随机生成再判环,如果有环就重新生成.这种方法得到DAG的概率随着点数和边数的增加而急速降低,为了一个DAG要生成很多次, ...
- 【邻接表字符串Hash】【HDU1800】Flying to the Mars
题意: 给你N个数字,带前导0,问出现最多的数字个数 思路: 读入,清楚前导0,Hash. 用邻接表字符串Hash有一下几点注意 string,不要memset,否则地址也没了,涉及到stl的东西,少 ...
- AutoResetEvent和ManualResetEvent
本文在于巩固基础 AutoResetEvent 概念:通知正在等待的线程已发生的事件 如果AutoResetEvent 为非终止状态,则线程会被阻止,并等待当前控制资源的线程通过调用 Set 来通知资 ...
- javascript 面向对象的继承的实现
JavaScript 中的面向对象的初步认识 上面这篇简单的记录了我对 JS面向对象实现的一点初步认识和了解,下面继续研究JS面向对象,实现继承和多态. 之前的学习我了解到了 :构造函数加属性,原型p ...