2008年6月18日 星期三

設定MySQL為UTF8連線

拜讀jaceju大大的文章-MySQL 中文編碼徹底研究 之後,對MySQL碼編總算有點了解。而該文章也對"許功蓋"的問題提出了解法,相當的不錯。
我這篇是要記錄MySQL的編碼設定,通常很多人都知道要設定Server及Client的編碼,但都忘了資料庫在做Conncetion的時候,也要設定連線時的編碼。設定的程式碼如下:
$link = mysql_connect($localhost", $user, $passwd);
mysql_query("SET NAMES 'utf8'");
mysql_select_db($dbname, $link);
$result = mysql_query("SELECT * FROM $table");
while ($row = mysql_fetch_assoc($result)) {
var_dump($row);
}

如果是使用PDO的方式,連線的範例如下:
try {
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
$dbh->exec('SET CHARACTER SET utf8');
foreach ($dbh->query("SELECT * from $table") as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() ;
die();
}
上面程式即可正確顯示UTF8的結果。

若是覺得很麻煩惱,不想在每次執行SQL的時候,都要加上SET NAMES 'utf8'的指令的話,也可以在my.cnf裡做設定如下:
[mysqld]
default-character-set=utf8

[client]
default-character-set=utf8
init_connect='SET NAMES utf8'
上面的設定一次搞定,就不用每次下SQL之前都還要加一行UTF8的設定。不過這個方法我沒成功,只好改回第一個方法 >"< 操作環境為XAMPP,PHP版本:5.2.5、MySQL版本:5.0.51a

相關文章:

2008年6月15日 星期日

DD-WRT Dynamic DNS(DDNS) Setting

DD-WRT附有DDNS的功能,預設提供Dyndns、NO-IP等較多人使所熟知的免費服務,只要填入帳號、密碼及網域名稱即可。但不知為何原因,預設的Dyndns及NO-IP在設定完成後,第一次都會成功的註冊及更新IP,但是之後每次都會出現錯誤。
Wed Jun 25 13:48:40 2008: INADYN: Started 'INADYN Advanced version 1.96-ADV' - dynamic DNS updater.
Wed Jun 25 13:48:40 2008:I:INADYN: IP address for alias 'xxx.dyndns.org' needs update to 'xxx.xxx.xxx.xxx'
Wed Jun 25 13:48:40 2008:W:'RC_IP_RECV_ERROR' (0x15) updating the IPs. (it 0)
Wed Jun 25 13:54:40 2008:W:'RC_IP_RECV_ERROR' (0x15) updating the IPs. (it 1)
......

官方的文件是說要將DDNS改成Custom的模式去設定,詳細設定如下:
括弧內需做適當的修改
‧DDNS Service: Custom
‧DYNDNS Server: members.dyndns.org
‧User name: (your username)
‧Password: (your password)
‧Hostname: (your hostname registered in dyndns.org)
‧URL: /nic/update?
‧Additional DDNS Options: --dyndns_system dyndns@dyndns.org --ip_server_name checkip.dyndns.org:8245 /
If static DNS is used, use statdns@dyndns.org instead of dyndns@dyndns.org.


記得儲存起來,依此設定修改,之後就沒有出現錯誤訊息了。


官方DDNS的文件:Dynamic DNS - DD-WRT Wiki
http://www.dd-wrt.com/wiki/index.php/DDNS

相關主題:
Pandamax's Tech World: ASUS WL-520GC with DD-WRT v24
http://pandamaxtechworld.blogspot.com/2008/05/asus-wl-520gc-with-dd-wrt-v24.html
Pandamax's Tech World: Asus WL-500g Deluxe with DD-WRT v24
http://pandamaxtechworld.blogspot.com/2008/05/asus-wl-500g-deluxe-with-dd-wrt-v24.html

2008年6月2日 星期一

[推薦]電池專賣

My3C.com Power Profession Site / 電源專業網站
http://my3c.com/
專賣電池及電池周邊的產品,重點是真的很便宜!