靖 ● 技場

關於部落格
Jinn的心情點滴、軟體教學、Blog工具、資訊安全











_uacct = "UA-957298-1";
urchinTracker();





var s_sid = 13786;var st_dominio = 4;
var cimg = 125;var cwi =112;var che =33;



































































  • 499051

    累積人氣

  • 1

    今日人氣

    0

    訂閱人氣

Bug Tracking System § Mantis支援中文UTF-8編碼之設定教學(PHP + MYSQL)

首先,簡易說明一下免安裝版的使用方法:目前我測試的版本為:v1.1.1,請至SourceForge這邊下載,下載後直接解壓縮即可,目錄結構上儘量不要有奇怪的名稱,以英文為佳,解開後根據readme.txt的說明,執行「imstart.cmd」後用IE連線至「http://localhost:8008/」就可以看到Mantis的登錄畫面了,預設的帳號、密碼是「administrator/root」。

由上圖可以看見登入後整個介面是英文,若你往後都是使用英文字,那以下過程可以不用看,開始快樂的使用就可以了,若想使用中文字,則請繼續用功下去吧。

切換至中文介面

範例直接以使用者administrator為例,登入後請點選上方的「Manage」,於「Manage Users」中點選「administrator」進入帳號的參數設定畫面,在Language一項中選擇「chinese_traditional」,下次再登入時介面就會呈現中文介面。

如何支援中文字資料

在設定之前,可以先試試看是否輸入資料後,會變成「?」,以我的狀況來說是這樣的,要解決這個問題,需做下列步驟:

  1. 建立一個支援UTF-8的資料庫 
    (a) 我的作法並不是在舊有的資料庫中更改設定,而是直接建立一個新的資料庫,首先把MySQL的server執行起來,直接點選「imstart.cmd」就可以了,裡面的指令會自動執行mysqld.exe,接著在「命令提示字元」中,將目錄切換到「Mantisservermysql-4.1.16-win32bin」,使用mysql.exe連線到MySQL的Server:
    mysql -h localhost -P 3360
    -h 後面接Server的位址,用預設的localhost即可,-P 後面接連接埠,預設是3360,此時若可以看見「mysql>」符號,表示已經成功連接上了,如下圖所示。


    (b) 鍵入「show databases;」來看目前的資料庫狀況
    mysql> show databases;
    (c) 鍵入「create database 資料庫名稱 character set = utf8;」以建立一個可支援UTF-8的資料庫,建立後要看有沒有成功,使用(b)的show databases再看一次就知道了,此範例的資料庫名稱為「jinndb」。
    mysql> create database jinndb character set = utf8;
    (d) 鍵入「use 資料庫名稱;」,來使用新建的資料庫。
    mysql> use jinndb;
  2. 給此資料庫建立一個有權限的使用者
    (a) 鍵入「grant 權限 on 資料庫 to username@hostname identified by 'password';」,此指令可以建立來自hostname的使用者username的帳號,密碼為password,並給予全部的權限,以下範例是建立使用者「jinn」,密碼為「jinn123」,進一步的說明可參考這裡
    mysql> grant all privileges on *.* to jinn@localhost identified by 'jinn123';
  3. 變更Mantis使用的資料庫
    (a) 在IE輸入「http://localhost:8008/admin/install.php」,可進入Mantis資料庫的安裝頁面:


    在這些欄位中,帳號密碼都使用之前建立的「jinn/ jinn123」即可,重要的是把資料庫名稱換成「jinndb」,接著按「Install/Upgrade Database」按鈕,此時會發現系統出現以下的錯誤訊息:
    BAD Does administrative user have access to the database?  ( Client does not support authentication protocol requested by server; consider upgrading MySQL client )

    這邊的資訊得知,這是MySQL 4.1以上使用新的密碼驗証機制,而PHP4尚未支援,解決的方法為改變其密碼格式,指令為「set password for usrname@hostname = old_password('密碼')」:
    mysql> set password for jinn@localhost = old_password('jinn123');

    (b) 設定完後,再試一遍,剛剛的訊息就會消失,不過出現了另一個 Write Configuration Files(s)的錯誤訊息:
    Please add the following lines to D:MyDataMantisrootmantisconfig_inc.phpbefore continuing to the database upgrade check:

    提示要更新「Mantisrootmantisconfig_inc.php」這個檔案,只要按照說明把下面的語法貼到config_inc.php即可,最後再重試一遍應該可以成功的安裝了。
    <?php     $g_hostname = 'localhost:3360';
    $g_db_type = 'mysql';
    $g_database_name = 'jinndb';
    $g_db_username = 'jinn'; $g_db_password = 'jinn123';
    ?>
  4. 看到這一步代表大功告成了,建議連線測試時,重新啟動Mantis (imstart.cmd),確保有載入新的設定,支援中文字的畫面如下:

註:以上方法在專案名稱、標題、內容等皆可使用中文,不過標籤部分就會失敗,不知道是本來就不支援,還是我不會設定的原因,個人猜測應該是設定問題,還好Mantis的搜尋功能還不錯,可以直接用來替代Tag,若有人知道怎麼設中文標籤的話,記得留言告訴我一聲,謝謝您。

參考資料:
黑社會読み物小舖 - Mantis
MySQL 4.1 + phpMyAdmin 問題
MySQL常用指令及帳戶管理

Technorati Tag : , ,

Counter Stats
entertainment in sydney
entertainment in sydney

相簿設定
標籤設定
相簿狀態