You are here

解決OWL內資料庫內容亂碼的問題

當你使用OWL 0.95做為你的Web file system時有沒有發現一件事情, 那就是當你傳送一檔案時填入檔案的內容描述時填入繁體/簡體中文/日文等等的內容時....進入資料庫查看該筆資料的description的欄位內容時, 會跟你輸入的不是很match, 看不出你打的東西究竟是什麼...雖然在搜尋上沒什麼問題, 但是看起來還是很奇怪...

例如: 我使用OWL上傳一個新進人員要訓練的項目表, 然後填入檔案描述為「新進人員基本訓練項目」, 當上傳成功後...

進入phpmyadmin內後進入owl的資料庫內(ex. owl) , 然後進入 file 的資料表 -> browse , 查看剛該檔案的序號

你會發現怎麼我輸入的看資料庫內記錄的實際內容不一樣, 怎麼是顯示如下亂碼的字串...

新進人員基本訓練項目

Uknown Information in OWL database

要怎麼解決以上顯示亂碼的問題呢? 在Google搜尋與試驗之後發現一個可行的方案....可以透過連線MySQL資料庫時強制使用UTF8來進行傳輸...解決方法如下...

1. 開啟 owl/phplib/db_mysql.inc 檔案, 並搜尋以下字串

/* establish connection, select database */

if ( 0 == $this->Link_ID ) {

2. 再上面2列的中間加入以下這行

@mysql_query("SET NAMES 'utf8'");

3. 再透過OWL -> Modify File Properties 進入檔案描述修改, 再填入一樣的內容「新進人員基本訓練項目」

4. 進去MySQL再查看一次, 你會看到資料庫內的記錄內容顯示正常了...可以正確的看到填入的東西是什麼了 :D

Uknown Information in OWL database

PS: 不過當你使這個UTF8連線設定後, 原先檔案詳細是用中文寫的都會變成亂碼, 你還要重新修改一次 XD

 

Tags: