□<?php
請問各位高手,
我在編輯.php檔案時,發現正常情況下開檔看不見<?php宣告前面的□,可是在比對檔案時卻看到前面的□,這個有□的檔案在網站跑的時候會出現問題。 請問如何解決掉前面的□? PS.二個檔案不同處在:執行正常的檔案是iso-8859-1編碼,這個有□的檔案是UTF-8編碼,我是用iso這個中文化後轉成UTF-8編碼的。 請大家不吝教導,謝謝。 |
這是因為 UTF-8 編碼檔的 header 中多了 BOM (Byte Order Mark) 識別碼,而這 BOM 常會讓 Apache 誤判,而發生 header already sent 的錯誤
建議用 ConvertZ 來把檔案轉換成 UTF-8,注意,請在 ConvertZ 的設定中找到 "加 BOM 到 UTF8 檔案" [不要勾] ConvertZ 可由其官方網頁下載到 http://alf-li.pcdiscuss.com/c_convertz.html 或是用 UltraEdit 這編輯器,設定 "將Write UTF-8 BOM header to ALL UTF-8 files when saved 設成OFF",就不會在儲存時又在檔案中加入 BOM 了 Editplus 這編輯器也有可以設定 EditPlus > Tools > Preferences > Files > Support UTF-8 files without Byte Order Mark(BOM) [勾起來] |
引用:
之前用UltraEdit也取消打勾了,可是沒作用,最後還是用了ConvertZ才成功! 真是太感謝您了~~ :bow |
引用:
而 UltraEdit ,本身沒有再用 (平常用 EditPlus),可能該設定是針對 "下次要儲存時,不要寫入 BOM 資訊",所以... |
寫網頁我推薦用BBEdit,存檔選UTF-8 no BON即可。
|
我當時無法解決時有想到convertz(版上有大大提過轉碼好用),但是我想說我都已經轉碼成功了,只是多了□,就沒有再進一步試它了。
只是到現在還覺得奇怪,我有把UltraEdit的加入bom取消,怎麼還有囗呢... ~what |
引用:
|
所有時間均為 +8。現在的時間是 11:47 PM。 |
Powered by vBulletin® 版本 3.8.4
版權所有 ©2000 - 2024,Jelsoft Enterprises Ltd.