百度谷歌淘宝自定义搜索乱码问题的解决

在遇到自定义搜索时出现UTF8格式内容在百度、谷歌、淘宝显示乱码的问题,通常是由于编码不匹配。通过在表单中添加隐藏字段指定UTF8编码或使用PHP的iconv函数结合AJAX转换编码,可以有效解决此类问题。对于不支持UTF8的网站,可能需要进一步的编码转换处理。
摘要由CSDN通过智能技术生成
 


一般碰到这个问题,都是因为提交页面是UTF8格式。

由于UTF8格式下转码与GB2312下转码后的内容不相同,所以百度或者谷歌淘宝都不认,而JS只能将转UTF8和LATIN,不支持GB2312、GBK,所以会出现乱码。

解决的办法其实也很简单,加这样一句

<input type="hidden" name="ie" value="utf-8">

 


告诉百度或者谷歌,传过去的内容是UTF8的格式,对方就不会当成GBK来处理了。

 

有的网站不支持UTF8的内容,比如当当、京东(对ie=utf-8没反应,或许有别的参数,但没试出来)

就需要对内容进行转换了,目前在网上搜到的方法,一种是VB的方式,在FF下无法兼容。一种需要引入一个比较大的JS。

因为需求,这两种方法都不合适,只好换了另一种方法,使用AJAX。

参考代码:

trans.php

<?

    $q = $_POST['q'];

    $q = iconv('UTF-8','gb2312',$q);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值