Philna2 搜索中文乱码的解决
Philna2就是我目前正在使用的这款很棒的WP主题,之前换上这款皮肤的时候已经为大家介绍过作者的用心良苦及皮肤的优秀。很是喜欢,在一天一歌小朋友的推荐下,我选择了这款皮肤。
同样,也是一天一歌小朋友告诉我,最新的这款皮肤是有一个问题的——在右侧搜索框里输入中文,显示结果页面会把输入的内容变成神奇的乱码,而导致无法正常查询。而作者现在正处于人生的关键期——考研,貌似也没有时间来维护这个主题。但是不管怎么说,我们要祝福这位作者,走过独木桥,成为最后的胜利者。
所以这里,就简单的提供一种方法来解决此问题,读者勿怪,原作者勿怪。
问题描述:
这款皮肤使用了大量的AJAX效果,使用户不用受到地址栏跳转的干扰,而仅仅是局部更新。但是这样也就导致了问题的原因所在:AJAX提交中文的时候,如果不做编码处理的话是会产生乱码的。
查看作者原代码,发现确实是没有做编码处理,这样提交过去的中文是有问题的。
不过有些莫名其妙,因为我全站都是采用UTF-8编码的,正常同一编码下是不会产生乱码的,但是这样还不行,就有些不知所以然了,但是最后总归是解决了问题。我也就懒的查真正的原因了。怎一个懒字了得,没办法,天生的。
解决办法:
刚看作者的JS时候,几乎吐血。原来作者为了考虑增加js下载速度。把js文件进行了压缩处理,这样我看到的就类似于一堆乱码了。于是乎,解码,用YSLOW提供的工具来把压缩过的代码变成可读的,最起码不伤眼睛的。呵。
转义过来后,我们在提交查询的语句之前把把查询的内容转成16进制,这样传递给php的时候,我们是不用做任何操作的。所以我们采用encodeURIComponent函数,方便啊。
将js还原回去:
既然作者为我们把js文件进行了压缩,我们怎么也不能辜负作者的一片心意。我们把改后的js再压缩回去。但是用yslow或者是Closure Compiler都没有作者压缩的风格好。那可是完全看不懂的。
于是上网上搜索,别说,还真让我找到了作者是采用什么压缩工具进行压缩的。那就是:JSA
下载地址:
到这里,问题已经解决了,那么我就把压缩前和压缩后的分别提供给大家吧。爱用哪个您随意。解压后。请将其替换themes\philna2\js下的philna2.js。
扩展学习:
关于Ajax中文乱码的问题,大家还可以看一下网上的资源,蛮丰富的。和PHP,JS有关的我挑了两个放在这里,方便他人,方便自己。
文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/11/27/1653/
版权所有 © 转载时必须以链接形式注明作者和原始出处!
小子你动手能力太强了,我就直接拿来主义了
还有出现我的名字怎么不加链接呢
[回复]
@一天一歌
呃,大侠。我忘了。。这就加上。。息怒,息怒
[回复]
@simaopig
哈哈,我是来验收的,这才符合国际惯例嘛
[回复]
我测试的时候怎么没出现乱码呢?
[回复]
@掌柜的马甲
IE是有问题的。FF我不清楚,但是CHROME是没有事的。呵呵。
[回复]
@simaopig
原来是这样,我用的是FF没问题…
[回复]
google music 我也一直挺喜欢的
[回复]
晕,刚才用google app proxy 爬墙,提交评论失败,结果把上一篇的论坛在这里输入了一遍。。。。。
[回复]
你这套表情不错~~ 在哪里有得下载?
另外yinheli的原版主题评论框这里不是横版的么 现在被你改过了?
[回复]
@xiaoding
我这个版下载下来就是这样的。没动过。呵。
表情你有需要吗?如果有的话我发你邮箱里。嗯。
[回复]
页面最下方, 版权内容的上面,为什么会有这个错误提示呢?
“容许使用的 HTML 标签: <a href=”" title=”" rel=”nofollow”> <abbr title=”"> <acronym title=”"> <b> <blockquote cite=”"> <cite> <code> <del datetime=”"> <em> <i> <q cite=”"> <strike> <strong>”
[回复]
@huagai
呃。你说的是哪里的错误提示?你指的是那句话吗?
那句话并不是“错误”提示,而是一个“友好”提示。提示来方者在发表评论的时候,可以使用 html 标签。
[回复]
哦……哈哈哈,明白,谢谢,我还以为是HTML乱码呢,惭愧惭愧
[回复]
@huagai
呵呵。谢谢来访啊。
PS:您可以留一个真实的邮箱。这样我的评论内容会直接发到您的邮箱中。而如果是一个假的邮箱的话。我这里发邮件的程序还会给我报错。呵呵。
[回复]
邮箱邮箱……现在去哪都不敢留邮箱了,一不小心洪水就灌进来,又不能再换了,每天排水很上火。
[回复]
@huagai
呃,好吧。。那我不强求了。呵呵。。
[回复]
你好,能把你现在这个主题发我嘛?我去作者那下的新版的主题,在IE6下浏览会一卡一卡,而你的这个却不会.
谢谢了..
[回复]
@asherry
已经发送,请查收。
[回复]
小小子,你的主题也发我一份,谢谢啦:) ;-)
[回复]
@宅男
请查收。
[回复]