JavaScript ASP VBPHP .NET HTML
返回首页
当前位置: 主页 > 技术资料 > 编程文档 > PHP >

UTF-8编码方式的PHP文件的注意事项

时间:2009-09-24 14:58来源:MingchenNet.com 作者:明晨网络原创 点击:
打算把 明晨网络Mingchennet.com 一个PHP工程的编码方式从GB2312改为UTF-8,于是用记事本打开这个ANSI编码方式的文件,在PHP代码设置header的content-type属性,并另存为UTF-8编码方式。结果在浏览器一访

    打算把明晨网络Mingchennet.com一个PHP工程的编码方式从GB2312改为UTF-8,于是用记事本打开这个ANSI编码方式的文件,在PHP代码设置header的content-type属性,并另存为UTF-8编码方式。结果在浏览器一访问,即警告报错Warning: Cannot modify header information - headers already sent by (output started ......

    重新改为ansi编码,再次访问,一切正常。忽然想起,Header头应该在所有body内容输出之前设置的,于是将header语句放到了紧贴<?php 之后,再次刷新,还是警告!

    再次另存为UTF-8模式,在header语句前设置ob_start();先将数据缓冲,在header语句之后再ob_end_flush()发送缓冲区数据。刷新,警告...

    很明显,肯定有什么数据在Header语句之前输出了,但是是什么数据呢,在哪里呢?

    突然想起,记事本另存为的UTF-8文件,文件头部有个BOM数据,是否就是这个数据在Header前发出了呢?使用Winhex打开这个UTF-8编码的PHP文件,果然,文件头的BOM数据赫赫在目

 

UTF8_BOM
    删除前三个字节,刷新,一切正常。
    注:EditPlus和Dreamweaver可以设置保存为不带BOM的UTF-8文件。具体Google "EditPlus BOM" 和"Dreamweaver BOM"。
 

 

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐内容