看了很多帖子才知道,原來(lái)UTF-8編碼下中文tags搜索不到是因?yàn)榫幋a的緣故,前輩提出要對(duì)字符進(jìn)行轉(zhuǎn)換,但應(yīng)該對(duì)userfun.php 做怎樣的修改呢,請(qǐng)知道的前輩能詳細(xì)說(shuō)清楚吧,別再有一句沒(méi)一句的讓我們這些初學(xué)者摸不著頭腦了,謝謝了!
原userfun.php在下面,對(duì)齊進(jìn)行轉(zhuǎn)換應(yīng)該如何操作,請(qǐng)大大們不吝賜教!
哎,看來(lái)真是大俠都隱退江湖了!
求人不如求己,對(duì)搜索字符進(jìn)行轉(zhuǎn)碼,經(jīng)過(guò)Google 的幫忙找到了一位大俠的帖子,看明白了urlencode的用法之后對(duì)原userfun.php 簡(jiǎn)單修改了下,現(xiàn)在支持UTF-8 的中文tags搜索,解決UTF-8下中文tags搜索不到的問(wèn)題
處理方法見(jiàn)下:
在userfun.php 中,將輸出網(wǎng)址進(jìn)行中文轉(zhuǎn)碼,就像百度,Google 一樣將 輸入字符進(jìn)行編碼轉(zhuǎn)換:
這是原userfun.php 顯示本文tags的語(yǔ)句:
$tagslink=$public_r[newsurl]."e/search/?searchget=1&tbname=$tbname&tempid=$tempid&show=keyboard&keyboard=".$r[$i]; //鏈接
紅色處是原有的網(wǎng)址后綴,我們分析前臺(tái)tags代碼時(shí)可以得知:
http://www.xxx.com/e/search/?searchget=1&tbname=news&tempid=1&show=keyboard&keyboard=帝國(guó)
上面帝國(guó)只是舉個(gè)例子,這里可得知前臺(tái)tags "帝國(guó)" = 后臺(tái)"$r[$i] ,那么對(duì)我像我這樣代碼零基礎(chǔ)的人來(lái)說(shuō)能理解到這程度已經(jīng)花了很多心思了
前臺(tái)試驗(yàn)了下在Google 搜索 帝國(guó),將返回地址中帝國(guó)的編碼替換到上面網(wǎng)址實(shí)例中進(jìn)行搜索請(qǐng)求,結(jié)果返回了正確的搜索結(jié)果,不會(huì)像之前直接中文時(shí)老是返回搜索不到,而實(shí)際明明能在全站搜索中搜索到的尷尬情形.
參照前面那位大俠在博客中的范例,只要對(duì)后面輸出地址進(jìn)行轉(zhuǎn)碼就行,遂大膽試驗(yàn)了下:
$tagslink=$public_r[newsurl]."e/search/?searchget=1&tbname=$tbname&tempid=$tempid&show=keyboard&keyboard=".urlencode($r[$i]); //鏈接
直接將輸出結(jié)果$r[$i]進(jìn)行轉(zhuǎn)碼,結(jié)果中文tags對(duì)應(yīng)的搜索鏈接地址變成了:
http://www.xxx.com/e/search/?searchget=1&tbname=news&tempid=1&show=keyboard&keyboard=%E5%B8%9D%E5%9B%BD
至此試驗(yàn)成功,本文只針對(duì)初學(xué)及代碼零基礎(chǔ)的菜友們,大俠可以略過(guò),不過(guò)衷心希望帝國(guó)CMS在做相關(guān)插件及應(yīng)用的時(shí)候?qū)煞N編碼全面考慮,不然你出個(gè)UTF8而沒(méi)有可廣泛應(yīng)用的內(nèi)容=沒(méi)用 !
版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: 關(guān)于utf-8下中文tags搜索不到的問(wèn)題