`
fxyc
  • 浏览: 121474 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决UTF-8格式PHP页面输出空行的简便方法

    博客分类:
  • PHP
阅读更多

       前几天写PHP程序的时候,即使写了topmargin="0" ,但在页面最上面还是有一个空行,后来上网才发现那是因为在PHP中使用UTF-8编码的原因,解决方案就是把UTF-8编码中的BOM信息删除。从网上找到了一个PHP函数,可以删除UTF-8编码中的BOM,当然也可以使用UE等文本编辑器了,只是这个方式快些,代码如下:

<?php  
//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除  
$basedir="."; //修改此行为需要检测的目录,点表示当前目录  
$auto=1; //是否自动移除发现的BOM信息。1为是,0为否。  
//以下不用改动  
if ($dh = opendir($basedir)) {  
	while (($file = readdir($dh)) !== false) {  
		if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file)) 
			echo "filename: $file ".checkBOM("$basedir/$file")." <br>";  
	}  
	closedir($dh);  
}  
function checkBOM ($filename) {  
	global $auto;  
	$contents=file_get_contents($filename);  
	$charset[1]=substr($contents, 0, 1);   
	$charset[2]=substr($contents, 1, 1);  
	$charset[3]=substr($contents, 2, 1);   
	if (ord($charset[1])==239 && ord($charset[2])==187 && ord($charset[3])==191) {  
		if ($auto==1) {  
			$rest=substr($contents, 3); 
			rewrite ($filename, $rest);  
			return ("<font color=red>BOM found, automatically removed.</font>");  
		} else { 
			return ("<font color=red>BOM found.</font>"); 
		}  
	}else 
		return ("BOM Not Found."); 
	}  
	function rewrite ($filename, $data) {  
	$filenum=fopen($filename,"w");  
	flock($filenum,LOCK_EX);  
	fwrite($filenum,$data);  
	fclose($filenum);  
}  
?> 

 文件如附件。

分享到:
评论

相关推荐

    EditPlus 2整理信箱的工具

    【18】支持带UTF-8标记/不带UTF-8标记的文件 每个步骤都说得很详细了,就没有必要贴图了,体积不要太大才好。 【1】正则表达式应用——替换指定内容到行尾 原始文本如下面两行 abc aaaaa 123 abc 444 希望每次...

    Editplus 3[1].0

    【18】支持带UTF-8标记/不带UTF-8标记的文件 每个步骤都说得很详细了,就没有必要贴图了,体积不要太大才好。 【1】正则表达式应用——替换指定内容到行尾 原始文本如下面两行 abc aaaaa 123 abc 444 希望每次...

    PHP团队编码规范1

    2. 文件编码应采用无BOM的UTF-8格式,保证跨平台兼容性。 3. 行结束符统一使用Unix LF(换行符),避免Windows和Unix系统间的差异。 4. 源文件按功能划分,每个文件只进行一类声明,如一个文件专门定义类,另一个...

    PHP团队 编码规范

    - **编码格式**: 源文件中的PHP代码应采用无BOM(Byte Order Mark)的UTF-8编码格式。这是为了确保代码在不同平台间的一致性和兼容性。 - **行结束符**: 使用Unix LF(Line Feed)作为行结束符。这种格式在跨平台...

    PHP学习笔记(一) 简单了解PHP

    小知识:在字符编码方面,UTF-8编码每个中文字符占用3个字节,而GBK编码每个中文字符占用2个字节。在处理中文字符时,选择合适的编码方式非常重要,以防止乱码问题。在编写和保存PHP文件时,建议始终使用UTF-8无BOM...

    install.php的制作方法

    - `mysql_query()` 用于执行SQL语句,如创建新的数据库,这里设置默认字符集为utf8,以支持多语言。 - `mysql_select_db()` 用于选择用户指定的数据库,确保后续操作在正确数据库上进行。 5. **数据表创建** - ...

    经典Python面试题之Python基础篇.docx

    - **UTF-8**: Unicode 的一种编码方式,可变长度,兼容 ASCII。 - **GBK**: 中文编码标准,主要用于简体中文。 #### 14. 字节码和机器码的区别? - **字节码**: Python 编译后的中间代码,可以跨平台运行。 - **...

    http协议简介,大体上的总述

    charset=UTF-8 Content-Length: 1000 ... ``` **总结** HTTP协议是互联网通信的基础,通过请求和响应机制实现了客户端和服务器间的信息交换。理解HTTP的工作原理对于开发Web应用、调试问题和优化网络...

    数据库标准1

    2. **编码**:使用不带 BOM 的 UTF-8 编码。 3. **声明和操作**:文件内只能定义类、函数或常量,或者执行产生副作用的操作,但不能同时进行两者。 4. **自动加载**:遵循 PSR-0 或 PSR-4 的命名空间和类的自动加载...

    IXNA聚合程序源码 v0.3

    PHP+MYSQL(php5+mysql4.1以上版本,php4...8、修正UTF-8模板空行问题 9、多模板支持,默认下有IXNA和BXNA两套模板 剑气凌人,本程序不能用于任何商业用途或在本程序基本上开发进行商业用途,如需要,请与本人联系商业授权

Global site tag (gtag.js) - Google Analytics