December, 2005 > 所有文章列表

圖解 web 1.0 / web 2.0 差異

In General   December 30, 2005 - 5:19 pm

Web 1.0

Web 2.0

這大概是近十年來最 informative的解釋,一針見血。

(source)

comments(3) | by admin

AMFPHP 1.0 正式 release

In flash   December 30, 2005 - 5:17 pm

下載

and kudos to Patrick Mineault :-)

接下來就等 flex 2 beta會不會正式支援它囉。

Add comment | by admin

【保証成功】的 mysql 中文亂碼解決方案

In php/mysql, flash, flex   December 19, 2005 - 1:23 pm

I promise this is gonna be the last time on it :-)

自從寫完下面兩篇文章:

wordpress 1.5升級注意事項 - 中文亂碼篇

mysql 4.1中文亂碼第二擊

過去幾個月就不斷有來信詢問各種 mysql 中文相容的問題,所以有機會看到許多玩家們用的各式連接法與程式,實在太開眼界。

最近因為轉換到 flex 2做為開發平台並重寫一些產品,許多去年寫的 framework 就無法使用,而其中有部份專門處理多國語系的library也隨之失效,導致我得重新面對這個問題,所以正好籍此機會將一些新心得整理出來。

*mysql中文亂碼的原因

mysql 會出現中文亂碼的原因不外乎下列幾點:

-mysql server本身設定問題,例如還停留在 latin1

-mysql table 的語系設定問題(包含 character 與 collation)

-客戶端程式(例如 php) 的連線語系設定問題

在之前的兩篇文章中已介紹過如何設定 mysql server/table 的 character/collation。

接下來只需要補充幾點注意事:

*mysql中文亂碼必勝解決法

1、mysql 啟動時會讀取一個預設的 config 檔,一般名稱為 my.ini,而它會到下列兩位置去尋找這個檔案:

C:\windows\my.ini 也就是作業系統的安裝目錄,也有可能是 C:\winnt\my.ini
C:\:my.cnf 也就是 C disk 的根目錄

注意不同位置裏的檔案suffix不一樣,這點在之前的文章中沒有特別強調,因此那時我是用更複雜的方法直接重新將mysql 註冊到 service裏面,並在那裏指定 my.ini的位置。

2、my.ini 裏的內容為:

[mysqld]
default-character-set=utf8

[client]
default-character-set=utf8
init_connect='SET NAMES utf8'

其中 mysqld 是指定 server啟動時要用的語系,但如果這裏設定為 utf8可能會讓許多英文軟體不開心,例如 osCommerce/mediaWiki,所以這裏建議設成 latin1。

下面的 client 則是設定當 client 連線時要使用什麼語系,但可惜的是這個設定不是每個client都會鳥它,基本上只有 mysql 自已家的程式,例如 mysql.exe, mysqld.exe, mysqladmin.exe 或是 MySQL Control Center這種程式會去讀取這個設定檔然後改用 utf8 連線。

note: 感謝 b6s 桑熱情相助提供第二行指令,據說比一支支php程式去設定connection setting更快,這樣應該也可以順便解決phpmyadmin無法正確顯示 unicode 中文的問題(不過 amfphp 到是不吃這套,一定要乖乖的自已設定語系才行)

但大部份工程師應該都是自已寫 php/jsp 程式去連線,此時自然不會讀取這個設定而繼續使用預設的語系 - latin1。

這也正是八成來信朋友陣亡的地方。

通常我會用一個獨立的檔案來處理 mysql connection的設定,例如:

PHP:
  1. <?
  2. //database connection details.
  3. $host = "localhost";
  4. $link = mysql_connect($host, "xxx", "xxx");
  5. mysql_query("SET NAMES 'utf8'");
  6. mysql_select_db("your_table_name_here", $link);
  7. ?>

請注意在 mysql_connect後第五行的地方有加上一個 "set names 'utf8' "的指令,告訴mysql 這個 connection 之後的連線內容都要使用utf8,經過這樣設定後,通常就可以解決大部份問題。

從這裏也可以推想得知,如果你有用某種custom connection pooling機制,就要記得在每次建立新的connection後立即設定為 utf8。

這組設定經過幾天的反覆測試(使用中文繁、簡、日文、韓文)後已經証實完全不會有亂碼或是某些字變成 "口"。

例子:試者輸入這幾個字「不道可否囉」如果它們能正確進入mysql再被讀出來,那就是中文沒問題了,如果讀出來後變成『口』字那就是革命還未成功同志仍需努力...orz

當然我也順便驗証了 flex2 - amfphp - php - mysql 來回傳resultset 也不再會有中文亂碼問題,可以安心使用囉。

comments(38) | by admin

笑話一則

In General   December 13, 2005 - 1:20 pm

A husband was in big trouble when he forgot his wedding anniversary.

His wife told him, “Tomorrow there better be something in the driveway for me that goes zero to 200 in 2 seconds flat.”

The next morning, the wife discovered a package in the driveway. She opened it - and found a brand new bathroom scale.

Funeral arrangements for the husband have been set for Friday.

...找死有更好的方法啊...orz

(出處:blogJ)

Add comment | by admin

the good old days - Band in a Box

In flash   December 13, 2005 - 9:04 am



Band in a Box
是一個神奇的自動配樂軟體,只要告訴它chord 與 style就可以自動生成一長串背景音樂,真正無敵的地方是在後來的版本裏出現了一個「自動solo」功能,例如我可以指定要 Joe Pass 或 Larry Carlton的solo style搭配 bosa nova 的曲風,它就會自已把所有結奏、合弦與弦律搭配好開始演奏,而嚇人的是成品還跟真人版很像啊~

第一次認識它,是在高中剛開始玩吉他跟練團時,需要有各種style的音樂來配合練習solo,當時的作業系統約略是 win3.1,而往後幾年則因為進入多媒體領域工作,三不五時會需要配樂又挖出來用一下,但幾年前開始專攻RIA程式設計後,就與多媒體這塊漸行漸遠也就很少有需要做配樂了。

事隔多年,今天無意間又逛到這家公司網站,腦中第一個念頭是:當年那恐怖的user interface 有沒有大改版啊?結果就是如上圖,答案是完全沒有。

音樂軟體有一個很奇怪又有趣的現象,就是使用者介面要做的一個比一個花俏,顏色也是從光譜的一段完全延展到另一端,畫面上幾乎什麼顏色都有一點,而且幾乎完全不用常見的 windows control,例如 CuBase, Cakewalk, Sonar 與一狗票 VST plugin,就連 Apple 自已的 Garage Band 介面也是獨樹一格。

在還沒開始寫程式或做 UI / Usability design這工作前,呃,或說是做為一個單純的音樂玩家,會覺得這種程式真是 fancy啊,介面跟outlook就是不一樣,到處有 knob 可轉,畫面上一堆等化器跳來跳去還有指示燈一閃一閃,做音樂就像開轟趴實在很快樂;但等自已開始寫程式後,再回頭看類似 Band in a box 這樣的軟體,就開始覺得這些工程師一定有過人的勇氣跟精力,才帶種到整支程式的 controls 與 畫面幾乎都是自已畫出來,實在是太讚啦。(這點在 the immates are running the asylum 一書中cooper也有提到)

這種事就有點像是:假如今天 flash/flex 沒有提供現成的 UI component,那所有想寫ria 程式的人就得先從button、combobox 等元件做起,而且每個人畫出來的combobox還長的不一樣,使用方式可能也不同(有的往下彈出,有的置中彈出,有的搞不好是向右彈出),這樣子事情就精彩了。

不過如果撇開介面這件事,只看軟體的功能面,就突然發現眼裏看出去的band in a box 就是一個個 mvc module,然後腦子不自覺的就開始分析這種軟體裏的 model 會是什麼?有幾個?資料要怎麼persist?有什麼技術上的難度?

等這些問題都回答完後,當然就是開始想,呃,有沒有可能用 flash 做一個 web 版出來,例如一個可在web介面上編輯音樂、混音、甚至剪輯影片的軟體?不過也差不多想到這裏時就覺得時間不早了,客戶在等的企畫書還沒交出去還是務實一點有緣再聚吧 orz

Add comment | by admin

Previous Posts

mobile phone