zoukankan      html  css  js  c++  java
  • frameset 框架当模板时显示空白的解决办法

    问题:后台如下,直接查看后台,源代码存在,但是就是显示不出来。

    解决办法:这是因为utf-8 编码的html 文件里面包含BOM造成的,可以使用专门的程序去掉bom,查看这里,也可以把这个html文件删除了,重新建立。注意可以把源代码先复制在其他utf8编辑器里,比如 editplus,然后重新建立

    <html xmlns=”http://www.w3.org/1999/xhtml”><head>
    <meta http-equiv=”Content-Type” content=”text/html;charset=utf-8″>
    <title>管理中心</title>
    </head>
    <frameset rows=”59,*” frameborder=”no” border=”0″ framespacing=”0″>
    <frame src=”k_top.php” noresize=”noresize” frameborder=”0″ name=”topFrame” marginwidth=”0″ marginheight=”0″ scrolling=”no”>
    <frameset rows=”*” cols=”195,*” id=”frame”>
    <frame src=”k_left.php” name=”leftFrame” noresize=”noresize” marginwidth=”0″ marginheight=”0″ frameborder=”0″ scrolling=”auto”>
    <frame src=”k_right.php” name=”main” marginwidth=”0″ marginheight=”0″ frameborder=”0″ scrolling=”yes”>
    </frameset>
    <frame src=”UntitledFrame-1″ noresize=”noresize” frameborder=”0″ name=”bottomFrame” marginwidth=”0″ marginheight=”0″ scrolling=”no”>
    </frameset>
    </html>
    #############附带 php 去除 bom的程序 文章 #################

    BOM信息是文件开头的一串隐藏的字符,用于让某些编辑器识别这是个UTF-8编码的文件。但PHP在读取文件时会把这些字符读出,从而形成了文件开头含有一些无法识别的字符的问题。

    比如用UTF-8格式保存的生成图片的PHP文件,因为文件头隐藏的BOM信息也被下发,导致生成的图片数据不对,浏览器无法识别。

    要检测一个UTF-8文件是否含有BOM信息,就是检测文件开头的字三个符,是否为0xEF, 0xBB, 0xBF。下面这个小程序,用户遍历某个目录下所有文件,并检测是否加了BOM。
    <? php
    //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除
    //By Bob Shen
    $basedir=”.”; //修改此行为需要检测的目录,点表示当前目录
    $auto=1; //是否自动移除发现的BOM信息。1为是,0为否。
    //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除
    //By Bob Shen
    $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);
    }
    将以上代码另存为del_bom.php,修改需要检测的目录后运行。这样可能有助于检测是哪个文件带有了BOM信息导致所有页面开头都有那么一段空白。

  • 相关阅读:
    service bound()
    使用StructureMap扩展ASP.NET MVC三层结构框架系列文章总结篇(附源码下载)
    微软编程之美的资格赛,这么简单的题目害我编了一个多小时——传话游戏
    Yii framwork crud 命名范围NAMED SCOPE 笔记四
    C/C++中的序点
    使用Ruby On Rails15分钟打造一个博客系统
    paip.提升性能---.net listbox 使用BeginUpdate与EndUpdate
    大话设计模式总结4—总图和一些经典定义
    TestNG 6 发布
    NetBeans 时事通讯(刊号 # 140 Mar 22, 2011)
  • 原文地址:https://www.cnblogs.com/Jerry-blog/p/5044709.html
Copyright © 2011-2022 走看看