自己這幾天將mantis從1.0.8直接升級到1.1.1,發現語系檔strings_chinese_traditional_utf8不見了,登入畫面時,發生找不到這一個語系檔,只有strings_chinese_traditional可以選擇。改了config_inc.php後,mantis訊息可以順利呈現中文,但資料庫的文字卻慘不人賭...

原來 1.1.x 之後的版本採用utf8編碼,不像以往可以選擇utf8或是big5編碼,但自己當初的Mysql DB也是選擇utf8編碼,語系strings_chinese_traditional_utf8 心想應該可以順利移植,但問題出在我的db的確是utf8,可是mantis卻用latin1存進去的,所以一到新版後,mantis改用utf8卻發生錯誤了
以下是解決方法:

export出upgrade後的data

mysqldump -u root -p --default-character-set=latin1 --hex-blob bugtracker > latin1.sql


vi latin1.sql
#將latin1改成Big5
/*!40101 SET NAMES Big5 */;
然後將latin1.sql 匯入新DB

mysql -u root -p bugtracker2 < latin1.sql


修改config_inc.php
搞定~

參考資料
http://reiot.com/2008/01/23/upgrade-mantis-111/