武汉电脑维修|武汉大拇指电脑上门维修知识网导航头
首页
  • 电脑基础
  • 网站建设
  • 操作系统
  • 病毒安全
  • 入门知识
  • 软件应用
  • IT业界
  • 硬件报价
  • 便宜电脑
  • 武汉电脑维修|武汉大拇指电脑上门维修知识网导航尾
    您当前的位置:首页 > 网站建设

    使用帝国cms留言验证码无法显示的解决办法

    发布时间:2011-04-21 09:18:35 来自:武汉大拇指电脑维修知识网 作者:dmzpc

    大拇指网站留言模块一直无法显示验证码,最近在网上找到解决办法,现拿出与网友一起分享!

    相信有网友在使用帝国CMS中发布验证码有不显示(红X)的现象,找了好多资料和回答都没有人能正确解决些问题,大多都是菜鸟级的回答,认为是GD库的问题,但实际上服务器又是支持GD库的,经过验证,现在把解决方法发布给大家,如果受此问题困扰的都可以按上面描述的方法来解决。
     

     

    出现这个问题的原因:

    用记事本编辑UTF-8的Config.php配置文件会导致验证码不显示。

     

    出现这个问题的原理:

           BOM——Byte order Mark,就是字节序标记。在这里找到一段关于BOM的说明:
      在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little- Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。
      UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。Windows就是使用BOM来标记文本文件的编码方式的。

            现在几乎所有的文本编辑软件都可以显示并编辑UTF-8编码的文件。但是很遗憾,其中很多软件的表现并不理想。

            类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,BOM是个大麻烦。

            PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符 将被直接执行(显示)出来。由此造成即使页面的 top padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个字符呢!

            最大的麻烦还不是这个。受COOKIE送出机制的限制,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在COOKIE送出前PHP已经送出了文件头),所以登入和登出功能失效。一切依赖COOKIE、SESSION实现的功能全部无效。

            因此,在编辑、更改任何文本文件时,请务必使用不会乱加BOM的编辑器。Linux下的编辑器应该都没有这个问题。WINDOWS下,请勿使用记事本等编辑器。推荐的编辑器是: Editplus 2.12版本以上; EmEditor; UltraEdit(需要取消‘添加BOM’的相关选项); Dreamweaver(需要取消‘添加BOM’的相关选项) 等。

            对于已经添加了BOM的文件,要取消的话,可以用以上编辑器另存一次。(Editplus需要先另存为gb,再另存为UTF-8。)

     

    出现这个问题的解决办法:

    用DW打开指定文件(e/class/config.php),按Ctrl+J->标题/编码->编码选择“UTF-8”,去掉"包括Unicode签名(BOM)"勾选->保存/另存为,重新上传到服务器即可!

     



     


    以上内容是有武汉电脑维修提供,希望大家可以学习到更多的电脑维修知识,大家也可以在留言板上留言,把自己认为比较好的电脑知识给大家分享。大家一起学习,讨论。
    文章内容来源于互联网,如果您发现该内容侵犯了您的权利,请立即通知武汉大拇指电脑维修网。
    发表评论 共有条评论

    验证码: 武汉电脑维修|大拇指电脑维修知识网新闻提交

    CopyRight©2010-2011 武汉电脑维修|大拇指电脑维修知识网  WWW.DMZPC.COM All Rights Reserved

    鄂ICP备10018820号 版权所有 未经授权禁止转载 复制或建立镜像 

    站长电话:13469988226 给我发QQ消息  邮箱:dujianwei80@163.com  那一站工作室