十二月22

CodeIgniter 設定 MySQL 編碼

※ CodeIgniter 1.6 已釋出,不需再做這篇的修正了哦!
先前有提到過 CodeIgniter 這個 PHP Framework,也用它做了幾個 case,當然開發速度不能說快上多少,但確實讓程式碼變得整齊優雅許多。
使用 CI 目前遇到第一個問題是存取 MySQL 資料的問題,在 MySQL 4.1 以後採用了多層式編碼設定,簡單說就是不管是資料庫、資料表、欄位或是 Client 連線階段,都可以分別設定編碼,所以即使 server 都改成了 utf8,PHP 到 MySQL Server 的這個 connection 卻還是預設的(latin1),許多亂碼就是這樣造成的,應該已經有不少人知道解決方法,就是先送出一個改變編碼的查詢:SET NAMES 'charset'。
然而目前 CodeIgniter 並沒有這樣的設計,所以只好自行改 code 囉!
Step1:修改 system/application/config/database.php
增加一項:$db['default']['charset'] = "utf8";
Step2:修改 system/database/DB_driver.php
在 32 行之後的宣告增加:var $charset = '';
接著 96 行的陣列增加:'charset' => '',
Step3:修改 system/database/drivers/mysql/mysql_driver.php
74 行 [...]


六月3

可攜式 APM 網頁伺服器

前陣子在無聊人那邊看一篇「完全可攜的 APM 網頁伺服器」,覺得非常的好用,以 7zip 壓縮後不到 10MB,比另一套免安裝的 xampp 輕巧許多。
因此自己也重新整合了一個,裡頭的設定檔沒有刪減,可以依自己喜好修改。另外特別感謝冰樣的正體中文化。
.檔案下載:PortableAPM
MD5:caf72f6232cfd81e1adc7ffc0679f3ed

五月13

MySQL 遠端連線設定

有些主機空間不開放使用 MySQL,這時就可以自己架一台 MySQL Server 並設定允許外部連線,讓沒有 MySQL 的主機也能使用。
方法很簡單,只要兩個關鍵步驟即可:
1) 開啟 TCP 3306 (預設 MySQL Port)。
2) 新增一個 User,主機(Host) 為允許連線的網域或 IP,如果不限制可以用「%」表任何主機。
如果不行請檢查 mysql 設定檔 (my.ini 或 my.cnf),註解下面文字
skip-networking
bind-address=127.0.0.1

十一月28

MySQL 4.1 + phpMyAdmin 問題

下載了新版 MySQL 4.1.x 及 phpMyAdmin 安裝在 XP 系統上測試,結果發現 phpMyAdmin 無法正常登入,出現如下錯誤訊息:
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
於是在 MySQL 官網找到解決方法,照做之後就OK囉!有此問題的可以參考看看。
(1) 在開始 → 執行輸入”CMD”進入命令列模式。
(2) 輸入 “MySQL 路徑\bin\mysql -h localhost -u root -p”。(要重設root密碼)
(3) 接著會出現 Enter Password:輸入安裝MySQL打的密碼。
(4) mysql>提示符號鍵入:SET PASSWORD FOR
(5) 再輸入:’root’@’localhost’ = OLD_PASSWORD(’新密碼’);
(6) 完成,現在就可以登入 phpMyAdmin 囉!
補充:
1.問題原因為 MySQL 4.1 以上使用新的密碼驗證機制,而 PHP4 尚未支援。
2.只要是 MySQL [...]