求分析这个神奇的字符是啥

1,hex编辑器打开为EF BB BF EF BB BF2,打开google一搜就知道了.该内容为UTF-8的BOM,也就是表明本文件采用的字节顺序是什么.多字节编码需要说明自己的顺序,来防止歧义.BOM就是这个作用.不过,UTF-8其实是不需要字节顺序说明的.(具体参考UTF-8编码).所有UTF-8的BOM其实是可有可无的.有也符合标准,没有也可以解析出来.不过这也就导致了各种分歧.如果其他编辑器,错误的认为是其他编码格式,那么也可以强制解析出来,出来的就是各种乱码.3,结合你的问题,就很简单了,这个是PHP的输出,总是带BOM的缘故.php我没有用过,不过也有讨论如何去掉BOM输出.自己看下吧.api - How to remove %EF%BB%BF in PHP string----这个问题,已经有比较靠谱的回答了.我就是顺手下载下来了,既然看了,也就是写下来吧.----神奇是个非常讨厌的字眼,它说明你不会分析问题,对待问题根本就不知道怎么着手处理.更不能顺藤摸瓜定位问题,何用妄谈解决问题呢.(以上不是说提问人,只是结合自己身边的事情感慨一把)放弃神奇这种字眼吧,碰到问题也不要没头苍蝇式的瞎碰.或者随便改来改去,梦想程序突然就神奇的正常了.要学会定位问题,分析问题,解决问题.
■网友
UTF-8
■网友
BOM: Byte Order MarkUTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行
■网友
如果文件不多,或者只是新建文件导致的原因,重新保存一次,保存的时候选择UTF-8 no BOM,或者不是UTF-8 with BOM的那个,有些编辑器是在“设置”里面设置保存是否带BOM头。
■网友
我下了你这个文件,打开( OS X, textmate 2 )看到的是\u0026lt;U+FEFF\u0026gt;Unicode Character \u0026#39;ZERO WIDTH NO-BREAK SPACE\u0026#39; (U+FEFF)我搜索了一下,在维基上看到了这个UTF-16的編碼模式UTF-16的大尾序和小尾序儲存形式都在用。一般來說,以Macintosh製作或儲存的文字使用大尾序格式,以Microsoft或Linux製作或儲存的文字使用小尾序格式。為了弄清楚UTF-16文件的大小尾序,在UTF-16文件的開首,都會放置一個U+FEFF字符作為Byte Order Mark(UTF-16LE以FF FE代表,UTF-16BE以FE FF代表),以顯示這個文字檔案是以UTF-16編碼,其中U+FEFF字符在UNICODE中代表的意義是ZERO WIDTH NO-BREAK SPACE,顧名思義,它是個沒有寬度也沒有斷字的空白。总之,剩下的你自己搜索吧。
■网友
【求分析这个神奇的字符是啥】 编译成中文


    推荐阅读