我有一个奇怪的问题,我的PHP文件丢失了它们的换行符,并且似乎有奇怪的盒子/矩形字符。我不知道如何修复它们并且它们干扰了我的网站。
答案 0 :(得分:2)
您使用的是哪种编辑器?这是尝试在MS记事本中编辑Unix格式文件(以及其他组合)的症状。
您的文件很可能是通过将其上传到远程服务器的FTP事务转换的(因为客户端正确使用了TYPE A
)并且在您检索它们时没有转换回来(因为它错误地使用了{{1} })。
要么获得更好的编辑器(例如Notepad++或EditPadPro),要么强制您的FTP客户端进入ASCII模式(TYPE I
)。
仅供参考,在* nix上,行结尾字符仅为LF(TYPE A
),在Windoze上为CRLF(\n
),在Mac上仅为CR(\r\n
)。
答案 1 :(得分:2)
顺便说一下,如果你使用Notepad ++的FTP插件并且没有将FTP插件(nppftp)设置设置为ASCII,那么在Notepad ++中偶尔会发生这种情况。这就是我找到这篇文章的原因。
答案 2 :(得分:0)
您可能会看到Windows和Unix换行符之间的区别。
Windows使用CR+LF
,而基于Unix的系统只使用LF
。
另请参阅:http://en.wikipedia.org/wiki/Line_break_(computing)#Representations
PHP会解析两者,所以我怀疑这是你的代码没有运行的原因。当然,如果没有发布文件,这只是一个最佳猜测(也是一个常见问题)。
答案 3 :(得分:0)
是的,正如Brad所说,你可能有错误的换行符。假设您使用的是* nix系统,请运行dos2unix <filename>
,这将使用{nix endline character \r\n
替换Windows端线\n
。
答案 4 :(得分:0)
您刚刚在编辑器菜单选项中启用了“显示换行符”或“显示特殊字符”。所以现在,不是看不见的“\ n”或“\ r \ n”,而是看到它们的代表。