一、环境配置
操作系统:Windows Server 2003
Web服务器:XAMPP Lite 1.7.1
项目管理工具:DotProject 2.1.3
中文语言包:dotproject-zh-pack-2.1.1-by-hutuworm2.tar.gz
二、日历乱码问题
要解决日历中的中文乱码问题,需要对日期格式进行调整。具体步骤如下:
- 打开文件 lib/PEAR/Date/Calc.php。
- 在 getMonthNames() 函数(大约第1583行)开头添加一行代码:
setlocale(LC_TIME, 'en');
- 在 getWeekDays() 函数(大约第1608行)开头同样添加一行代码:
setlocale(LC_TIME, 'en');
三、甘特图乱码问题
要解决甘特图中的中文乱码问题,需要更换字体并调整相关配置。具体步骤如下:
- 将系统字体目录下的 simhei.ttf 文件复制到 lib/fonts 目录下。
- 打开文件 lib/jpgraph/src/jpg-config.inc。
- 找到以下定义:
define('BASE_FONT', 'FreeSans');
define('CUSTOM_TTF_FONT_BOLD', BASE_FONT.'Bold.ttf');
define('CUSTOM_TTF_FONT_ITALIC', BASE_FONT.'Oblique.ttf');
define('CUSTOM_TTF_FONT_BOLDITALIC', BASE_FONT.'BoldOblique.ttf');
- 将其修改为:
define('BASE_FONT', 'simhei');
define('CUSTOM_TTF_FONT_BOLD', BASE_FONT.'.ttf');
define('CUSTOM_TTF_FONT_ITALIC', BASE_FONT.'.ttf');
define('CUSTOM_TTF_FONT_BOLDITALIC', BASE_FONT.'.ttf');
- 打开 modules/tasks/gantt.php 文件,在大约第370行注释掉以下内容:
if ($locale_char_set == 'utf-8' && function_exists('utf8_decode')) { $name = utf8_decode($name); }
- 打开 modules/projects/gantt.php 文件,在大约第214行注释并修改成如下:
/* if ($locale_char_set == 'utf-8' && function_exists('utf8_decode')) { $name = ((mb_strlen(utf8_decode($p['project_name'])) > 25) ? (mb_substr(utf8_decode($p['project_name']), 0, 22) . '...') : utf8_decode($p['project_name'])); } else { */ // 使用非UTF-8字符集时不需要使用 utf8_decode $name = ((mb_strlen($p['project_name']) > 25) ? (mb_substr($p['project_name'], 0, 22).'...') : $p['project_name']); //