一键去除网页BOM属性【解决乱码,头部空白,验证码不显示问题】

几个常出现的问题:

1.网站打开空白

2.页面头部出现多余的空白

3.网站出现乱码,如"锘�"

4.后台登录验证码不显示

解决方案:

1.选用专业的编辑器,例如notepad++,sublime,editplus这样不会自动签名。

2.sublime通过如下操作File -> Save with Encoding -> UTF-8保存后即可去除bom

3.notepad++选中格式 -> 以UTF-8格式编码 选项即可去除

4.用如下方法可一次性清理网页所有文本文件的bom

复制下面代码

复制代码
<?php  
$dir=dirname(__FILE__);

if(isset($_GET["act"]) && $_GET["act"] == "del" ){   //Del the file!!
$filename=basename($_SERVER['PHP_SELF']);
@unlink($filename);
exit('Error:File Not Found!');
}

echo "The document:".$dir."&nbsp;&nbsp;<a href=\"?act=del\" >[Del the delbom.php file]</a><BR/>";

if (!is_dir($dir))
die("$dir not exists");
$auto = 1;  
checkdir($dir);  
function checkdir($basedir){  
if ($dh = opendir($basedir)) {  
  while (($file = readdir($dh)) !== false) {  
   if ($file != '.' && $file != '..'){  
    if (!is_dir($basedir."/".$file)) {  
     echo "filename: $basedir/$file ".checkBOM("$basedir/$file")."<BR/>\n";  
    }else{  
     $dirname = $basedir."/".$file;  
     checkdir($dirname);  
    }  
   }  
  }  
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>\n");  
  } else {  
   return ("<font color=red>BOM found.</font>\n");  
  }  
}  
else return ("BOM Not Found.\n");  
}  
function rewrite ($filename, $data) {  
$filenum = fopen($filename, "w");  
flock($filenum, LOCK_EX);  
fwrite($filenum, $data);  
fclose($filenum);  
}  
?>

复制上面的代码

使用方法:复制上面代码到一个新建的delbom.php(用记事本或者是文本编辑器打开此文件)的文件中,上传到网站根目录,然后访问您的站点,比如http://www.**.com/delbom.php 即可清理所有网页中存在的bom便签。

相关推荐
只抄14 天前
Serv00 免费虚拟主机 零成本搭建 PHP / Node.js 网站
虚拟主机·1024程序员节
左直拳2 个月前
设置spring boot禁止日志输出到控制台
spring boot·后端·乱码·logback·slf4j·输出到控制台
wwwwestcn2 个月前
pdf、mp4、zip、rar、jpg等文件被大量访问造成流量超标解决方案
服务器·pdf·虚拟主机·云服务器
wwwwestcn2 个月前
PbootCMS程序安全设置建议
安全·虚拟主机·云服务器·pbootcms
汪碧康3 个月前
alpine 和 ubuntu 系统中文乱码问题
linux·运维·ubuntu·乱码·镜像·alpine·java乱码
网络傅老师4 个月前
00 Debian字符界面如何支持中文
服务器·debian·乱码·中文支持
梁云亮4 个月前
解决 执行 jar 命令 控制台乱码
乱码·控制台乱码
聚名网4 个月前
一个虚拟主机可以绑定几个域名?
github·域名·虚拟主机
寒秋丶6 个月前
Nginx虚拟主机配置
linux·运维·nginx·web·虚拟主机·web app
IT晓夏6 个月前
eclipse导入工程提示Project has no explicit encoding set
java·eclipse·乱码·web开发