2011-09-13 86 views
-2

我有一個奇怪的問題,我的PHP文件已經失去了他們的換行符,並且在他們看來有奇怪的盒子/矩形形狀的字符。我不知道如何解決這些問題,他們正在干擾我的網站。奇怪的PHP文件字符

+0

爲什麼人們會投下我的問題?有點困惑,如何stackoverflow工程... – 99823

+3

我沒有downvote,但我懷疑這是問題的本質「我該如何解決這個事情,我不能形容或顯示你困擾」。我的意思是,至少提供一個截圖。當問題包含簡潔,準確和尊重時,您會很快發現SO很欣賞。 「*怪異的盒子/矩形形狀的人物*」並沒有給任何人留下足夠的證據,證明他們的答案豐富,或者是純粹的猜測。此外,「*他們正在干擾我的網站運行*」沒有包含關於如何破壞您的網站的具體細節。作爲非常懶惰和不受歡迎的 –

回答

2

你在使用什麼編輯器?這是試圖在MS記事本中編輯Unix格式文件(以及其他組合)的一個症狀。

您的文件最有可能被上傳到遠程服務器的FTP事務轉換(因爲客戶端正確使用TYPE A),並且當您檢索它們時(因爲它錯誤地使用了TYPE I),它們沒有轉換回來。

要麼獲得更好的編輯器(如Notepad++EditPadPro)或強制您的FTP客戶端進入ASCII模式(TYPE A)。如果在nix結尾字符僅爲LF(\n),則在Windoze上它是CRLF(\r\n),在Mac上它僅爲CR(\r)。

+0

謝謝戴夫,我會嘗試NotePad ++ - 我正在使用記事本 - 這可能是爲什麼 – 99823

0

您可能會看到Windows和Unix換行符之間的區別。

Windows使用CR+LF而基於Unix的系統只使用LF

參見:http://en.wikipedia.org/wiki/Line_break_(computing)#Representations

PHP將解析兩個,所以我懷疑這是你的代碼沒有運行的原因。當然,沒有文件發佈,這只是一個最好的猜測(以及一個常見問題)。

0

是的,正如Brad所說,你可能有錯誤的換行符。假設您使用的是* nix系統,請運行dos2unix <filename>,並用的* nix結束符替換Windows結束符\r\n

0

您剛剛在編輯器菜單選項中啓用了「顯示換行符」或「顯示特殊字符」。所以現在,你不是看不見的「\ n」或「\ r \ n」,而是看到它們的表示。

2

順便說一下,如果您使用Notepad ++的FTP插件並且不將FTP插件(nppftp)設置爲ASCII,則在Notepad ++中仍可能偶爾會發生這種情況。這就是我找到這篇文章的原因。