2012-02-24 118 views
6

如果我要寫一個新的php文件,幷包括echo "current mb_internal_encoding: ".mb_internal_encoding(),輸出值從哪裏來?它如何「決定」/如何管理?默認的mb_internal_encoding()值來自哪裏?

背景:我寫了一個Web應用程序,我想我已經做了一切設置整個網站爲UTF-8,我發現我仍然需要手動設置這個值...

回答

6

這取決於設置的mbstring.internal_encoding in php.ini

+1

有趣。我有'; mbstring.internal_encoding = EUC-JP'所以它不活躍。我也找到'; mbstring.language = Japanese','; mbstring.http_output = SJIS'。我正在開發使用WAMPserver堆棧,我不知道爲什麼所有這些都設置爲Jpz字符集。爲什麼我不應該瀏覽整個php.ini,並用「utf-8」替換任何字符集? – JDelage 2012-02-24 03:27:14

+0

如果我沒有手動設置,'mb_internal_encoding()'出現爲ISO-8859-1 ... – JDelage 2012-02-24 03:28:53

+1

Jup,出於某種原因PHP默認使用ISO-8859。您應該在應用程序中處理這些設置以保持其便攜性。在任何想要部署應用程序的地方更改php.ini往往不是最方便的解決方案。 – deceze 2012-02-24 03:48:36