第一次編寫UTF-8

11 十一月 2006 / By

自己以SOHO從事程式編寫五年,  對程式編寫仲算有些經驗, 今天開始開多一個文章分類, 和大家分享程式編寫的事 ( (這類文章對像是有程寫編寫知識的人). 今天要寫的, 就是 UTF-8.

編寫網誌管理系統系統的一個目的, 就是讓我去了解 UTF-8.

我之前有寫個網頁和網上的應用系統, 都是用BIG5, 但發現越來越多人使用UTF-8, 包括 SinaBlog, 所以有興趣去了解一番.

UTF-8 的一個好處, 就是可以在同一篇文章輸入繁體和 "简体", 不過, 原來對程式編寫來說, 內有很多東西要去處理.

例如我編寫的網誌管理系統, 所有系統的STRING, 我會先用繁體, 在pass給Browser前, 我要用UTF8Encode把所有字串轉為UTF-8.

當收到Browser的Request時, 我又要把input用UTF8Decode轉回繁體, 然後儲存在資料庫. 到要取回資料時, 我又要把資料轉回UTF-8. 就這樣, 問題出現了.

例如要把 "浅谈" 這兩個UTF-8的简体字轉為繁體, 用String儲存, 會出現 ?? 的. 就必須用WideString儲存起, 但要資料庫儲存WideString又會遇到問題, 這個真令我煩惱.

另一個處理的方法, 就是把Browser取得的UTF-8字串直接儲存在資料庫, 但如果這樣, 當需要做Pattarn Matching (或 Sub String Searching) 有會有問題. 另外, 在我編寫系統時, 我要先將系統內的字串, 例如 "網誌管理系統" Encode 為 UTF-8 先, 加埋資料庫的UTF-8資料, 傳給 Browser 嗎?

最慘的是, 外國沒有繁簡字的麻煩, 想問也不知到那裡問, 想學也不知在那裡學, 在Google尋找了很久, 也找不到想要的答案. 不知大家有沒有編寫這類系統的經驗, 可以分享一下嗎?


Prev Post:
Next Post:

Category Next Post:

Comments are closed.

Blog Comments

唔知你用咩program 寫. 好難答你. 我寫個好多 program 直接 grab web data, 之後再 insert 入 SQL , even SQL 的 charset 是 ISO8859, 都無你的問題. ASP .Net, Perl, PHP, Java 應該都無問題, ASP 是比較難. 仲有, 你要注意SQL 本身的 Charset, 最好用 UTF-8. 近來寫開 Yahoo Blog 流量統計器  , 我都是直接 grab Yahoo Web Page 的 Title, 再 insert 入 SQL, 之後在我的 web page 加上 : <meta http-equiv="Content-Type" c charset=utf-8">. 應該無問題. 我建議你output web page 時不需要丙再轉去UTF-8, 直接在HTML 中加入上面的 code 試試.

When I use Oracle, the db global setting is UTF8.  I can use Like search(pattern matching) with chi character in SQL language at our chinese PC. For Java, text field(input type="text") or (textarea) in HTML needs encoding from ISO to UTF8.  But you can set the web server with a global setting of UTF8 too. Something like that: request.setCharacterEncoding("UTF8"); Hope this help!

Leave a Comment