2012-05-25 28 views
1

我有一個VPS(Debian,Apache,MySQL,PHP)強制utf-8編碼爲php頁

我想強制UTF-8編碼。我已經把這個行:

header('Content-type: application/json; charset: UTF-8'); 

但字符集仍然是ISO8859

我還編輯了php.ini中:/etc/php5/apache2/php.ini

mbstring.language=UTF-8 
mbstring.internal_encoding= UTF-8 
mbstring.http_input=UTF-8 
mbstring.http_output=UTF-8 
mbstring.detect_order= auto 

和apache conf:

nano /etc/apache2/conf.d/charset 
AddDefaultCharset UTF-8 

iOS應用程序正在調用我的php頁面。我給它一個JSON輸出。但它收到ISO字符集...

+0

當你說「字符集仍然是ISO8859」時,你是什麼意思?你在哪裏看到這個價值? –

+0

我查看頁面信息(Firefox中的右鍵)編碼是ISO。我有一個JSON輸出。 – geekInside

回答

5

你的響應頭不正確:

header('Content-type: application/json; charset: UTF-8'); 

它應該是:

header('Content-type: application/json; charset=UTF-8'); 

通知到位的:

+0

非常感謝 – geekInside

2

你看看utf8-encode函數:http://php.net/manual/en/function.utf8-encode.php

您可能正在向客戶端回傳未正確編碼的文本。 Apache不會爲你做這件事。

+0

是的,但是當我查看頁面信息(Firefox中的右鍵)編碼是ISO – geekInside

+0

您是否檢查是否有任何警告消息可以幫助錯誤控制檯? – Pierre

+0

我在螢火蟲裏沒有錯誤 – geekInside

2

在.htaccess文件中=你可以把:

php_value default_charset UTF-8