web小白,今天把本地的项目通过FlashFXP上传到服务器后,在项目中碰到这个问题,网页开头多了一小段,如下图
开始还以为是自己哪里有var_dump输入导致的这个问题,在文件中找了好久,发现不是这个问题,后来在chrome页面检查中发现,不知何时多了一个这个玩意
网上查了一下,参考了别人的解答,这原来是UTF-8的编码问题。FlashFXP在编辑文件时会默认的打开记事本,而windows记事本的编码是UTF-8 + BOM,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,BOM是个大麻烦。因为PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符将被直接执行(显示)出来。
解决的方法网上也有很多,我选择的是将代码复制到notepad++中,选择格式中的以UTF-8 无BOM格式编码。再把文件重新传输到服务器覆盖原来的文件即可!