2012-09-05 113 views
0

我最近遇到的奇怪問題。 我開發了一個簡單的php網站引擎。所有可能的編碼配置都被正確設置(<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>和apache虛擬主機位,所以內容類型http頭是正確的)。 那有什麼不對? 訪問的php文件(例如index.php)中的所有內容都正確顯示。 但是從外部文件包含的內容顯示爲問號。 enter image description herePHP:包含的文件編碼錯誤

看到了嗎?中間的框架是由index.php生成的,沒關係,但頂級菜單欄是由包含文件生成的。如果我將菜單欄例程移至index.php,它看起來也不錯。

+1

這些文件保存在什麼編碼...?! – deceze

+0

是的,我忘了說。一切都以UTF-8正確保存。這更奇怪,因爲它都是按照生產託管設計的。我的發展環境中的問題 – heximal

+0

>>包含在外部文件中......提示:檢查外部文件的編碼,如果它們也是utf8 – donald123

回答

0

如果它適用於生產環境,則可能是服務器配置錯誤。

首先,嘗試檢索生產環境中包含的文件,以檢查問題是否來自此處。這可能確實是一個編碼問題。確保以UTF-8編碼(理想情況下不含BOM)。 Notepad ++具有將文件從編碼轉換爲另一種的功能。

其次,嘗試添加(如果尚未完成:如果正確地發送HTTP頭,它應該已經在這裏了)下面一行到你的Apache配置:

AddDefaultCharset utf-8 

不要忘記重啓你的Apache服務器。

讓我們知道它是否有效。在Windows筆記本:)

0
  1. 打開文件
  2. 更改文件類型所有文件類型
  3. 更改編碼設置爲UTF-8
  4. 保存文件
  5. 再試試! :O)