Liunx服务器下文件的编码问题

来源:互联网 发布:淘宝和阿里巴巴的关系 编辑:程序博客网 时间:2024/05/01 17:48

项目在本地电脑(windows系统)上运行正常,但是部署到服务器后运行打开页面出现500错误,后台保存内容忘记截图。上网查资料才知道是BOM的问题。

何谓BOM? "EF BB BF" 这三个字节就叫BOM,BOM的全称叫做"Byte Order Mard".在utf-8文件中常用BOM来表明这个文件是UTF-8文件,而BOM的本意实在utf16中用来表示高低字节序列的。
在字节流之前有BOM表示采用低字节序列(低字节在前面),而utf8不用考虑字节序列,所以其实有无BOM都可以。

微软的记事本 Word 等只能正确打开含BOM的UTF8文件,然后UltraEdit却恰恰相反,会把BOMutf8文件 误认为ascii编码。

UTF-8的BOM是 EFBBBF,因为UE载入UTF-8文件会转成Utf16,上述的EFBBBF 在Utf16中是FFFE(Unicode-LE的BOM),UltraEdit不认识BOM又加多一個BOM,所以有2个FFFE。
文件就被它破坏了。

Liunx服务器上不支持UTF8-BOM,所以在部署系统时要检查好文件的格式和编码。


0 0
原创粉丝点击