小李SEO博客

网站优化服务

织梦cms程序PHP5.4及PHP5.5关于htmlspecialchars输出为空的问题

单位更换新的服务器,全部采用的windows server 2008 r2 64位系统,在艰难的配置环境之后,却发现IIS7.5应用池不断报错,后来更换了PHP5.5的64位版本,就解决了问题,看来在64位win2008下,还是64位PHP才是最佳搭配啊。

但是,苦逼的事情总是那么多,本人制作的网站是dede系统的,在登陆后台时却遇到了麻烦,登陆后提示HTTp500错误,一番搜索解决之后,又遇到发表新文章提示标题不能为空的问题,明明有标题,却不行?这是因为在PHP5.4及以后的版本中htmlspecialchars默认为UTF8,你是中文,当然检测不到你了。真纠结啊!只好按照解决DEDE标题为空的办法替换一了个遍,发现DEDE有十几处用到了htmlspecialchars属性,还好啦。另外转来一位技术大牛写的文章,希望对您有帮助。原文如下:从旧版升级到php5.4,恐怕最麻烦的就是htmlspecialchars这个问题了!

当然,htmlentities也会受影响,不过,对于中文站来说一般用htmlspecialchars比较常见,htmlentities非常少用到。可能老外认为网页普遍应该是utf-8编码的,于是苦了那些用GB2312,GBK编码的中文站......!具体表现:$str = "9enjoy.com的php版本是5.2.10";echo htmlspecialchars($str);gbk字符集下输出为空...utf-8下,输出正常。为什么呢,原因在于5.4.0对这个函数的变化:5.4.0 The default value for the encoding parameter was changed to UTF-8.原来是什么呢?string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )Defines encoding used in conversion. If omitted, the default value for this argument is ISO-8859-1 in versions of PHP prior to 5.4.0, and UTF-8 from PHP 5.4.0 onwards.原来是ISO-8859-1,5.4后默认变成utf-8!然后中文使用这个函数就输出为空白了。

国内一堆开源程序在5.4下都会有这样的问题,DISCUZ官方也建议用户不要升级到5.4。解决方案:1.苦逼的修改所有用到htmlspecialchars地方的程序1.1 其第二个$flags参数,默认是ENT_COMPAT,因此改成htmlspecialchars($str,ENT_COMPAT,'GB2312');为什么不是GBK?因为没有GBK这个参数,如果强行使用GBK,则报错给你看:Warning: htmlspecialchars(): charset `gbk' not supported, assuming utf-8为了能使用GBK,则改成:htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');1.2.一样是改程序,但可以省略一个参数。可以在网页头部加ini_set('default_charset','gbk');然后改成htmlspecialchars($str,ENT_COMPAT,'');文档中有写:An empty string activates detection from script encoding (Zend multibyte), default_charset and current locale (see nl_langinfo() and setlocale()), in this order. Not recommended.

大概意思就是:传入空字符串则使用default_charset的编码1.3.封装一个函数吧...本来htmlspecialchars这个单词一直不好记。function htmlout($str) { return htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');}然后去批量替换。最新版织梦系统已经解决了这个问题,将版本更新为最新即可解决。

上一篇:织梦cms标签输出指定栏目新窗口打开 下一篇:dedecms获取缩略大图的方法
织梦cms相关文章阅读
  • 织梦cms列表页调用会员任意信息标签函数

    小李网络公司介绍织梦cms列表页调用会员任意信息知识,包括dedecms列表页调用会员任意信息的标签函数_织梦58,dedecms主页标签dedecms调用模板dedecms代码调用dedecms调用教程dedecms调用页面dedecms调用样...

  • 织梦cms自由列表freelist标签使用方法

    小李网络公司介绍织梦cms自由列表freelist标签使用方法知识,包括简述DedeCMS 自由列表 freelist-织梦安装使用-跟版网,使用入门 / 自由列表使用教程 - DedeCms帮助中心,织梦58简述 DedeCMS 自由列表 free...

  • 织梦cms会员登录后跳转首页简单实现方法

    小李网络公司介绍织梦cms会员登录后跳转首页简单实现方法知识,包括织梦dedecms5.7会员注册或登录后跳转到网站首页的实现方法,织梦dedecms5.7会员注册或登录后跳转到网站首页的实现方法....

  • 织梦cms缓存引起的一些问题解决方法

    小李网络公司介绍织梦cms缓存引起的一些问题解决方法知识,包括缓存是什么意思dede清除缓存在哪里清除缓存是什么意思缓存的视频怎么删除网页清理缓存在哪里使用dede清理缓存的方法dede怎么...

  • 织梦cms显示所有文章列表设置代码

    小李网络公司介绍织梦cms显示所有文章列表设置代码知识,包括显示所有内存变量的命令excel显示所有隐藏列显示所有隐藏文件显示所有窗口的快捷键在任务栏显示所有窗口织梦dedecms教程,...

  • 织梦cms会员登陆才能查看到自定义字段信息设置方法

    小李网络公司介绍织梦cms会员登陆才能查看到自定义字段信息设置方法知识,包括DEDEcms会员登陆才能查看到自定义字段信息_织梦无忧,织梦怎么对某些字段信息隐藏,登录后可查看,DEDECMS 如何限制...

  • 织梦cms友情链接标签调用方法说明

    小李网络公司介绍织梦cms友情链接标签调用方法说明知识,包括织梦常用调用标签织梦文章调用标签phpcms调用标签友情链接有用吗dedecms怎么调用dedecms调用日期dede全站调用标签dede年标签调用....

  • 织梦cms在后台添加栏目文档批量复制功能

    小李网络公司介绍织梦cms在后台添加栏目文档批量复制知识,包括织梦DEDE 在后台添加栏目文档的批量复制功能-[好织梦],DEDE 在后台添加栏目文档的批量复制功能-dedecms教程-跟版网....

  • 织梦cms实现tags云标签随机颜色与字体大小方法

    小李网络公司介绍织梦cms实现tags云标签随机颜色与字体大小方法知识,包括标签字体怎么设置p标签设置字体大小字体大小怎么调标签字体大小设置标签字体大小标准怎么改变html字体的颜色系统...

  • 织梦cms子栏目在网站首页调用方法

    小李网络公司介绍织梦cms子栏目在网站首页调用知识,包括如何在dede首页和栏目列表页调用自定义字段-百度经验,织梦首页文章内容调用dede织梦调用标签dede跳转首页dede根据tag调用文章dede调用详...

  • 织梦cms文章内页获取缩略图调用标签

    小李网络公司介绍织梦cms文章内页获取缩略图调用标签知识,包括dedecms上传缩略图dedecms标签总结dede自定义缩略图dedecmslist标签使用dedecms标签解析dedecms标签判断dedecms标签分类dedecms基础标签....

  • 织梦cms生成select下拉式友情链接列表方法

    小李网络公司介绍织梦cms生成select下拉式友情链接列表方法知识,包括织梦标签教程dedecms删除织梦链织梦标签替换织梦标签理解dede下拉友情链接织梦友情链接样式dede织梦调用标签织梦添加链接...

SEO公司排名
 
QQ在线咨询
SEM竞价推广
137-1296-7640
SEO优化外包
137-1296-7640