您的位置:首页 > 大数据 > 人工智能

Wordpress dynamic landing page [dlp] 插件支持BaiDu 乱码的解决

2008-08-02 16:00 106 查看
Landing sites 1.3 是一个wordpress的wordpress dynamic landing(动态登录页)的插件,功能就是如果是从支持的搜索引擎到网站上来,可以在页面上部显示用户从哪里过来的,搜索的关键字是什么,并且,根据关键字搜索本站,显示相关的内容。
安装很简单。下载后放到plugin目录,激活,在想要显示的页面放入正确的代码就可以了。
具体可以参考:http://theundersigned.net/2006/06/landing-sites-11

本站从baidu过来的也有很多用户,这个插件不支持百度,所以需要增加支持百度的功能。
首先打开landingsites13.php
为$search_engines添加一个值,

'baidu.com' => 'wd',
保存重新上传就可以了,测试一下,起作用了。但是显示搜索的代码是乱码
比如搜索
http://www.baidu.com/s?wd=%B1%B4%B1%B4+wordpress&cl=3 到了本网站,显示
您从www.baidu.com来,要找?? wordpress.下面这些内容可能您也感兴趣:

但是从goolge过来就是对的,没有乱码。
经过查看,baidu的keywords,经过编码是:

%B1%B4%B1%B4+wordpress
而google的keywords是

%E8%B4%9D%E8%B4%9D+wordpress
原来这个东西不支持GBK编码,因为google用的是utf-8,所以没有问题。

解决的方法是,判断一下$terms是不是utf-8的,如果不是做一次转换,解决方法

function ls_get_terms($d)
最后的
return $terms;
前面加入

//convert gbk->utf8 if terms is gbk
$encoding_list="EUC-CN, UTF-8";
if (mb_detect_encoding($terms,$encoding_list)!="UTF-8"){
$terms=iconv(mb_detect_encoding($terms,$encoding_list), "UTF-8", $terms);
}

if (!seems_utf8($terms)){
$terms=iconv("GBK", "UTF-8", $terms);
}
测试通过,有问题请拍砖。增加国内搜索网站的支持

'baidu.com' => 'wd',
'soso.com' => 'w',
'sogou.com' => 'query',
'cha.so.163.com' => 'q',
'page.so.163.com' => 'q',
'site.so.163.com' => 'q',
'news.so.163.com' => 'q',
'pic.so.163.com' => 'q',
'search.live.com' => 'q',
添加到$search_engines里即可

---> http://www.juyimeng.com/wordpress-dynamic-landing-page-dlp.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: