百度谷歌淘宝自定义搜索乱码问题的解决
 一般碰到這個問題,都是因為提交頁面是UTF8格式。
由于UTF8格式下轉碼與GB2312下轉碼后的內容不相同,所以百度或者谷歌淘寶都不認,而JS只能將轉UTF8和LATIN,不支持GB2312、GBK,所以會出現(xiàn)亂碼。
解決的辦法其實也很簡單,加這樣一句
<input type="hidden" name="ie" value="utf-8">
?
 告訴百度或者谷歌,傳過去的內容是UTF8的格式,對方就不會當成GBK來處理了。
?
有的網站不支持UTF8的內容,比如當當、京東(對ie=utf-8沒反應,或許有別的參數(shù),但沒試出來)
就需要對內容進行轉換了,目前在網上搜到的方法,一種是VB的方式,在FF下無法兼容。一種需要引入一個比較大的JS。
因為需求,這兩種方法都不合適,只好換了另一種方法,使用AJAX。
參考代碼:
trans.php
<?
??? $q = $_POST['q'];
??? $q = iconv('UTF-8','gb2312',$q);
??? echo $q = urlencode($q);
?>
 ?
ajax內容
function getkwd(word){
??????????? var url = 'http://localhost/trans.php';
??????????? var data = 'q='+word;
??????????? jQuery.ajax({
?????????? type: 'POST',
?????????? url: url,
?????????? data: data,
?????????? dataType: 'text',
?????????? success: function(msg){
?????????????? alert(msg);
?????????? }
??????????? });
??????? }
 
 ??????
思路就是先用PHP的iconv函數(shù)轉碼成GB2312的方式,然后urlencode。
用AJAX只是一種方式,思路如此,有興趣的可以試著用其他方法。
?
總結
以上是生活随笔為你收集整理的百度谷歌淘宝自定义搜索乱码问题的解决的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: springboot + vue 时区问
- 下一篇: AttributeError: modu
