2009-05-01 71 views

回答

4

一旦你確定在進入和退出時編碼和解碼,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

+0

其實你不應該編碼/解碼任何東西。在整個應用程序中使用相同的字符集會更好。你只需要選擇具有unicode容量的東西(比如UTF-8) – troelskn 2009-05-01 15:14:59

1

一個PHP 6的主要功能將支持Unicode的緊密集成工作的一個非常好的資源。

在PHP 5 由於PHP字符串是面向字節的實施UTF-8,爲Unicode文本的唯一實際的編碼方案是UTF-8。

  • 在UTF-8
  • 轉換PHP腳本UTF-8
  • 轉換的網站內容,後端數據庫等呈現HTML網頁:招數[從PHP建築師雜誌明白了] UTF-8
  • 確保沒有PHP函數破壞UTF-8文本

退房http://www.gravitonic.com/talks/
PHP UTF-8作弊Sheet

0

PHP大多不瞭解chrase並將字符串視爲字節流。這確實不是什麼大問題,但你必須自己做一些工作。

一般的經驗法則是,你應該在任何地方使用相同的字符集。如果你在任何地方都使用UTF-8,那麼你在那裏99%。只要確保你不混合字符集,因爲那樣會變得非常複雜。唯一不能正確處理UTF-8的是字符串操作,它需要在字符級別上操作。例如。 strlensubstr等。您應該使用支持UTF-8的版本來代替這些版本。 multibyte-string extension只是給你。

有關的,你需要確保字符集設置正確的地方的清單,看看:

http://developer.loftdigital.com/blog/php-utf-8-cheatsheet

欲瞭解更多信息,請看:

http://www.phpwact.org/php/i18n/utf-8

相關問題