• 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信息导致所有页面开头都有那么一段空白。

  • 相关阅读:
    Lucene实践之IndexFile
    java利用pdfbox处理pdf
    java通过dom4j处理xml文档
    CouchBase 2.5Kb数据无法编辑的解决办法
    Strutes2标签url
    Strutes2标签iterator
    2.23Java基础总结 ①内存图,内存加载过程②内存叠加③动态绑定
    2.23 Java基础总结 ①toString方法②equals③this和super④final⑤常量
    数学趣题——魔幻方阵
    数学趣题——谁在说谎
  • 原文地址:https://www.cnblogs.com/Jerry-blog/p/5044709.html
Copyright © 2020-2023  润新知