PHP文件中的奇怪字符

时间:2011-09-13 17:06:48

标签: php

我有一个奇怪的问题,我的PHP文件丢失了它们的换行符,并且似乎有奇怪的盒子/矩形字符。我不知道如何修复它们并且它们干扰了我的网站。

5 个答案:

答案 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”,而是看到它们的代表。