今天在上传CSV文件的时候,Windows下调试一切正常。妈的一到Linux下面,就出现问题,第一行数据总是读取不出来,
利用print_r()打印出读取文件的内容,发现有一个很奇怪的字符在作怪。为什么第一个字符会出现重叠的问题呢。经排除发现是文件的编码格式不对。
在Windows下面,转码后的CSV的编码格式为以带BOM的UTF-8格式编码,在Linux下面不支持BOM,因此在notepad++里面讲文件的格式转换成不在BOM的UTF-8格式编码,再次上传文件,在Linux下面运行一切正常。
遇到这个坑之后,特地百度了一下关于Linux下面文件编码的问题,发现遇到问题的人也很多的,下面为知乎上的一些见解,说的很有趣,人比较懒,直接扔链接。
https://www.zhihu.com/question/20167122