IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

分類:

,

如何解決PHP檔案中‧不能執行網址重新定向(url redirect)問題

01. 今天有網友,指出某程式的程式碼有問題。症狀是主程式使用PHP中的header(‘location: index.php’);時,沒有反應。

02. 分析下,發現主程式只要include了2個另外的PHP檔案,再執行到header(‘location: index.php’);時,便沒有反應,但主程式內其他的程式碼,是可以執行到的。

03. 試一下把include的另外2個PHP檔案內容,一式一樣複製到主程式內,是可以執行到header(‘location: index.php’);這一行的。

04. 奇怪就在這裡,返回另外2個PHP檔案,內容是沒有問題的。直到想到編碼的問題,發現其中一個PHP檔案,編碼是UTF-8的。

05. 把它改回ANSI編碼,便解決問題。

06. 如檔案中涉及中文字串,編碼用ANSI,在顯示上可能會有問題,那可以把編碼改為UTF-8(NO BOM)。

07. 還有一個發現是,如果PHP.INI中,output_buffering的設定不是0的話(我的是4096),檔案用UTF-8編碼時,是不會一定出現以上所講的問題,但真正原因如何,還是有時間再研究吧。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *