2008年7月30日 星期三

FLEX + AMFPHP + MySQL 實作初體驗

1.在MySQL內加入以下SQL語法:


CREATE TABLE `user` (
`user_id` int(11) NOT NULL,
`firstName` varchar(20) collate utf8_unicode_ci NOT NULL,
`lastName` varchar(20) collate utf8_unicode_ci NOT NULL,
`phone` varchar(20) NOT NULL,
`email` varchar(30) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO `user` (`user_id`, `firstName`, `lastName`, `phone`, `email`) VALUES
(1, '衡道', '余', '886-2-12345678', 'sun@gmail.com'),
(2, 'Janny', 'Wang', '886-7-12345678', 'janny@gmail.com');



2.延續 FLEX+AMFPHP 安裝初體驗Ⅱ,只要修改 PersonService.php,如下述內容:

其中,為了解決讀取 mysql 中文亂碼問題,除了上述程式碼的function Connect()內要加入:
function Connect(){
...
mysql_query("SET NAMES = utf8");
mysql_query("SET CHARACTER_SET_CLIENT = utf8");
mysql_query("SET CHARACTER_SET_RESULTS = utf8");
...
}

同時還要修改 amfphp2/gateway.php 內
原先的:
$gateway->setCharsetHandler("utf8_decode", "ISO-8859-1", "ISO-8859-1" );
修改成:
$gateway->setCharsetHandler("utf8_decode", "UTF-8", "UTF-8");

如此即可成功,如以下畫面: