201503091515 zblog插件“blog小工具”中文外链乱码解决办法
9年前 (2015-03-09) 作者:iMoke 分类:原创·技术 阅读次数:4715 评论(41)有时候用base64_encode加密后,以GET的形式传到其他页面,用base64_decode解密的时候,出现乱码。
遇到这个问题的时候,我就纳闷了,为什么有一些能正确解密,但是有一些却出现乱码呢?
ZblogPHP版 blog小工具,下载地址:http://app.zblogcn.com/?id=452,收费插件,价格8.88元。
郑重声明:请先把页面拉到最下面,认真阅读“再次声明”。
起因:
打开“blog小工具”的“外链跳转”功能,跳转地址不在“外链跳转启用时排除的域名”。
在使用过程中,经常性发现中文路径的地址跳转结果经常是乱码,导致正常网页无法打开。
(注:界面文字与默认不同,因为进行了简单的修改)
解决办法:
在FTP管理器里找到“博客/zb_users/plugin/sf_inlink/include.php"
第33行:
function sf_inlink_Index_Begin(){ global $zbp; SF_inlink::savezhizhu(); if(isset($_GET['sf_urldecode'])){ $urldecode=trim(htmlspecialchars(GetVars('sf_urldecode','GET'))); (行32)$url=base64_decode($urldecode); SF_inlink::show_tourl_page($url); die(); } if($zbp->Config('sf_inlink')->ziphtmlenable==1){ ob_start(); } }
把32行改成
$url = base64_decode(str_replace(" ","+",$urldecode));
保存,上传,覆盖原文件,即可解决。
分析:
有时候用base64_encode加密后,以GET的形式传到其他页面,用base64_decode解密的时候,出现乱码。
遇到这个问题的时候,我就纳闷了,为什么有一些能正确解密,但是有一些却出现乱码呢?
后来经过检查,发现有一些中文字符,用GET形式传过来的时候,"+"号会被替换成空格。
所以,为了防止出现乱码的情况,我做了一步替换,然后再解密,果然,乱码的问题,不复存在了。
成功截图:
参考资料:
再次声明:
1.本次问题已经提交给原作者shellingford,可能在未来的某次升级中会修复;
2.如果作者未修复此问题,更新作者发布的新版本可能会导致本次修改失效,请视情况而定;
3.在本次调试中,出现过1次页面所有中文变成乱码的情况,应该是文件编码出问题了。不保证按照本教程操作的朋友不会出现这个问题。解决办法也很简单,操作之前先备份,用备份文件替换出错文件,重新操作。(出问题的概率不大)
4.本人菜鸟一枚,只是遵循着“有问题问百度”的原则,遇到问题先是自己尝试解决,实在解决不明白了再去问别人。本人在失败了3个小时后不得不向作者发起求救,不过在求救后5分钟意外的发现了参考资料1,最终独立解决问题。
5.原作者后来居然能回复我的求助,很令我感动 = =(一般大神不都是很傲的么)。
mengqy
傲孤漠客 POST:2015-09-18 18:52:59
原因:文章图片没有本地化。解决办法:1.图片本地化,2.重写所有摘要。或者,清空所有摘要。
图片已经是本地化的了,全部文章都没有写摘要的。
然后就是说,当幻灯片不止一张的时候,进入首页就会一瞬间闪过这样的画面:http://gkhz.xzidc.ga/uploads/2015/07/zgqk.png
我在想会不会是因为使用标签……望博主告知!
自定义分类
输入分类的数字ID*单ID
我输入 3,4,5.更像了缓存也不显示。求解决。