我的下一個Web應用程序項目將廣泛使用Unicode。我通常使用PHP和CodeIgniter,但是Unicode不是PHP的強項之一。是否可以編寫一個使用Unicode的優秀PHP應用程序?
有沒有一個PHP工具可以幫助我在PHP中很好的使用Unicode?
或者我應該藉此機會研究諸如Python之類的替代方案嗎?
我的下一個Web應用程序項目將廣泛使用Unicode。我通常使用PHP和CodeIgniter,但是Unicode不是PHP的強項之一。是否可以編寫一個使用Unicode的優秀PHP應用程序?
有沒有一個PHP工具可以幫助我在PHP中很好的使用Unicode?
或者我應該藉此機會研究諸如Python之類的替代方案嗎?
一旦你確定在進入和退出時編碼和解碼,PHP可以處理unicode罰款。如果要存儲在數據庫中,請確保html頁面,Web服務器,編輯器和數據庫之間的語言編碼和字符集映射匹配。
如果整個應用程序在任何地方都使用UTF-8,則不需要解碼。唯一需要解碼的時間是當您在另一個不在Web上的字符集中輸出數據時。輸出html時,可以使用
htmlentities($var, ENT_QUOTES, 'UTF-8');
以獲得正確的輸出。標準函數在大多數情況下會破壞字符串。郵件功能也一樣。
http://developer.loftdigital.com/blog/php-utf-8-cheatsheet是在UTF-8
一個PHP 6的主要功能將支持Unicode的緊密集成工作的一個非常好的資源。
在PHP 5 由於PHP字符串是面向字節的實施UTF-8,爲Unicode文本的唯一實際的編碼方案是UTF-8。
退房http://www.gravitonic.com/talks/
PHP UTF-8作弊Sheet
PHP大多不瞭解chrase並將字符串視爲字節流。這確實不是什麼大問題,但你必須自己做一些工作。
一般的經驗法則是,你應該在任何地方使用相同的字符集。如果你在任何地方都使用UTF-8,那麼你在那裏99%。只要確保你不混合字符集,因爲那樣會變得非常複雜。唯一不能正確處理UTF-8的是字符串操作,它需要在字符級別上操作。例如。 strlen
,substr
等。您應該使用支持UTF-8的版本來代替這些版本。 multibyte-string extension只是給你。
有關的,你需要確保字符集設置正確的地方的清單,看看:
http://developer.loftdigital.com/blog/php-utf-8-cheatsheet
欲瞭解更多信息,請看:
其實你不應該編碼/解碼任何東西。在整個應用程序中使用相同的字符集會更好。你只需要選擇具有unicode容量的東西(比如UTF-8) – troelskn 2009-05-01 15:14:59