福爾壽司ForSource的辦案手札 Case 2. PHP併頁亂碼

  • 1456
  • 0
  • 2011-08-29

摘要:ForSource福爾壽司的辦案手札 Case2.併頁亂碼

現場:

AP環境:

  • VM架設的server 2k3 sp2
  • IIS 6.0WPI加裝的PHP 5.3.5

案件說明:

        馬森沒有寫過PHP,但是對PHP的名號並不陌生。但或許太習慣微軟的VS開發軟體,

這次有機會碰到PHP,第一件事竟然是問有沒有什麼工具能trace能complier,PHP能不能code behide之類的問題。

得到了一個非常有幫助的答案,「寫就對了,用notepad++吧」。第一句真是當頭棒喝,更佛心的是他是推薦我notepad++而不是notepad XD。

於是我就用notepad++開始我的PHP之旅了。

       

想不到旅途剛開始,就遇到了案件,由於有好幾頁會有相同的banner,而這個banner的特性是會每年更換,

所以我想寫一頁共用的php網頁給每頁引用,明年只要改一頁,就可同時變更整個網站的網頁了。

(每年會更動的banner示意圖)

 

程式碼:



banner.php的內容

2011馬賽克處理聯賽官方網帖

結果跑出來的畫面確是亂碼。

但是網頁的其它部份,中文顯示確是正常的。這麼簡單的語法,我也是直接從接手的網站copy過來的,為什麼它可以正常顯示,而我卻不行呢?我相信語法不是兇手,那麼會是誰?查了一下編碼,也是正常的,而且在html中也都有加入下面的語法,來決定網頁的編碼。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

那麼矛頭就指向原始檔了,google了一下得到了答案。

線索:

  1.  語法正確無誤
  2.  網頁的編碼有使用meta 設定。

解決方法:

        Notepad++馬上有了他表現的空間,使用Notepad++開啟banner.php,然後選擇「編碼」→轉換至UTF-8碼格式(檔首無BOM)→存檔。

刷新網站,正常顯示!!破案!!