在psr开发标准中,有一条是讲的,php只能使用无bom的utf8格式 . 那么这个bom是几个意思.
说一些理论内容 .
在UCS编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。
这写了些goshit呀.如果觉得说的很烂 .咱们这里准备一份白话文参考.
也就是说呀,系统通过文件的一些前面的字符来判断这个文件的格式 .
如果还不懂???那就简单了.咱们还准备了一份更简单的解释,供智力方面可能出现一些与常人不同的朋友来参考
html文件 中, 一般能看到的内容 是
<body>标准这里面的内容才是可见的</body>.
那在
<head><meta charset="UTF-8" /></head>
其中, head中有一个是这样一个charset标签.这就是"bom" 没错,如果这个都看不懂,推荐北京安定....
那这个标签的位置在哪,怎么看到呢. 用ue编辑器打开就可以看到16进制是以 EFBBBF开头的内容.把它干掉就ok了. 没毛病....
后期会准备一份批量去bom头的php的源码.敬请期待!
参考关键词 unicode UCS utf-8 ansi
时间: 2024-11-01 03:30:28