用rawurldecode和iconv解决php的编码问题

作者:lizongbo 发表于:22:11. 星期六, 一月 10th, 2009
版权声明:可以任意转载,转载时请务必以超链接形式标明文章和作者信息及本版权声明

我在给wordpress加上记录Combined格式的时候,也加了个从referer里获取搜索关键字的功能(参考javaeye的“您正在搜索”加关键字高亮的功能)。
由于google的url里是标准的UTF-8编码,而百度的url里,一般却是GBK编码的。
当时实现这个功能的时候,导致rawurldecode只对google 的url得到了正确的汉字。
今天在网上重新搜索了相关信息,发现其实是有办法解决的。
解决的方法很简单,代码如下:
[code]
$lzb_searchkeyword=rawurldecode($lzb_searchkeywordstr);
$lzb_searchkeyword=iconv("GBK","UTF-8",$lzb_searchkeyword) ;//
通过这一行就把百度来的GBK汉字转成了UTF-8的,在页面上就可以正常显示了。
$lzb_searchurl='http://www.baidu.com/s?wd='.$lzb_searchkeywordstr;
[/code]

以后文章正文下方的recent related 1 searches的地方,基本不会再出现乱码了。

Tags: iconv, php, rawurldecode, 乱码

Related posts

标签: , , ,

recent related 12 searches :

这篇文章发布于 2009年01月10日,星期六,22:11,归类于 杂七杂八。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以留下评论,或者从您的站点trackback

留下回复