两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種確定網(wǎng)頁(yè)編碼方式的方法及設(shè)備的制作方法

文檔序號(hào):6436324閱讀:210來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種確定網(wǎng)頁(yè)編碼方式的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種確定網(wǎng)頁(yè)編碼方式的方法及設(shè)備。
背景技術(shù)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,越來(lái)越多的用戶(hù)選擇使用終端設(shè)備(如手機(jī)、計(jì)算機(jī)、平板電腦等)上網(wǎng),上網(wǎng)時(shí)需要使用瀏覽器(Browser)以實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的瀏覽,目前常用的瀏覽器包括微軟公司的IE瀏覽器(Microsoft Internet Explorer)、FireFox瀏覽器等;目前,瀏覽器對(duì)網(wǎng)頁(yè)的識(shí)別過(guò)程如下根據(jù)HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議),獲取待編碼網(wǎng)頁(yè)HTTP響應(yīng)頭(Response headers)中的聲明編碼方式或待編碼網(wǎng)頁(yè)源代碼內(nèi)的ΜΕΤΑ 標(biāo)簽中的聲明編碼方式,并根據(jù)該聲明編碼方式調(diào)用相應(yīng)的字符集進(jìn)行編碼,最終顯示出該網(wǎng)頁(yè)的具體內(nèi)容;若獲取網(wǎng)頁(yè)的聲明編碼方式失敗,則采用該瀏覽器默認(rèn)的編碼方式對(duì)該網(wǎng)頁(yè)進(jìn)行編碼,并顯示出該網(wǎng)頁(yè)的具體內(nèi)容。但在實(shí)際應(yīng)用中,尤其是采用手機(jī)終端中的瀏覽器瀏覽網(wǎng)頁(yè)時(shí),一般是通過(guò) WAP(Wireless Application Protocol,無(wú)線應(yīng)用協(xié)議)代理以實(shí)現(xiàn)瀏覽互聯(lián)網(wǎng)的網(wǎng)頁(yè),即先由互聯(lián)網(wǎng)的服務(wù)器將網(wǎng)頁(yè)的信息(如該網(wǎng)頁(yè)的HTTP響應(yīng)頭或該網(wǎng)頁(yè)源代碼)發(fā)送至WAP 代理,并由WAP代理進(jìn)行處理,再由WAP代理將處理后的該網(wǎng)頁(yè)的信息發(fā)送至瀏覽器,由瀏覽器對(duì)網(wǎng)頁(yè)進(jìn)行識(shí)別;有可能出現(xiàn)以下情況第一種情況是瀏覽器能成功獲取到該網(wǎng)頁(yè)的聲明編碼方式,但瀏覽器獲取的是經(jīng) WAP代理處理后的聲明編碼方式,其有可能與原始的該網(wǎng)頁(yè)的聲明編碼方式不一致,從而容易導(dǎo)致網(wǎng)頁(yè)亂碼現(xiàn)象;第二種情況是瀏覽器無(wú)法獲取到該網(wǎng)頁(yè)的聲明編碼方式,則由于瀏覽器采用默認(rèn)的編碼方式進(jìn)行處理,極有可能出現(xiàn)網(wǎng)頁(yè)亂碼現(xiàn)象。綜上所述,現(xiàn)有的確定網(wǎng)頁(yè)編碼方式的方法的正確率低,從而使網(wǎng)頁(yè)進(jìn)行編碼處理后容易出現(xiàn)亂碼現(xiàn)象。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種確定網(wǎng)頁(yè)編碼方式的方法及設(shè)備,用于解決現(xiàn)有技術(shù)中存在的確定網(wǎng)頁(yè)編碼方式的方法的正確率低,從而使網(wǎng)頁(yè)進(jìn)行編碼處理后容易出現(xiàn)亂碼現(xiàn)象的問(wèn)題。本發(fā)明實(shí)施例提供了一種確定網(wǎng)頁(yè)編碼方式的方法,包括確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組,所述參考編碼方式數(shù)組中包括至少一種參考編碼方式;根據(jù)所述參考編碼方式數(shù)組及本地預(yù)設(shè)的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在所述參考編碼方式數(shù)組和所述備選編碼方式數(shù)組中的一種編碼方式作為所述待編碼網(wǎng)頁(yè)的編碼方式。較佳地,所述備選編碼方式數(shù)組中包括一種備選編碼方式;
確定所述待編碼網(wǎng)頁(yè)的編碼方式包括若所述參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為所述待編碼網(wǎng)頁(yè)的編碼方式。

較佳地,所述備選編碼方式數(shù)組中包括多種備選編碼方式;確定所述待編碼網(wǎng)頁(yè)的編碼方式包括從所述備選編碼方式數(shù)組中選擇包含在所述參考編碼方式數(shù)組中,且優(yōu)先級(jí)別最高的備選編碼方式作為所述待編碼網(wǎng)頁(yè)的編碼方式。較佳地,確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組之后,本發(fā)明實(shí)施例的方法還包括在所述參考編碼方式數(shù)組中不包括所述備選編碼方式數(shù)組中任一備選編碼方式時(shí),確定所述參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式為所述待編碼網(wǎng)頁(yè)的編碼方式。較佳地,所述方法還包括將選擇的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器增加一個(gè)預(yù)設(shè)的增量;在優(yōu)先級(jí)低的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值大于優(yōu)先級(jí)高的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值時(shí),更新所述備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級(jí)。較佳地,所述方法還包括將選擇的參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式作為所述備選編碼方式數(shù)組中新的備選編碼方式,并設(shè)置所述新的備選編碼方式的優(yōu)先級(jí)最低。較佳地,根據(jù)下列步驟確定所述參考編碼方式數(shù)組獲取所述待編碼網(wǎng)頁(yè)的每個(gè)框架frame中的部分網(wǎng)頁(yè)數(shù)據(jù);根據(jù)獲取到的網(wǎng)頁(yè)數(shù)據(jù)確定該網(wǎng)頁(yè)數(shù)據(jù)對(duì)應(yīng)的參考編碼方式數(shù)組。本發(fā)明實(shí)施例提供了一種確定網(wǎng)頁(yè)編碼方式的設(shè)備,所述設(shè)備包括確定模塊,用于確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組,所述參考編碼方式數(shù)組中包括至少一種參考編碼方式;處理模塊,用于根據(jù)所述參考編碼方式數(shù)組及本地預(yù)設(shè)的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在所述參考編碼方式數(shù)組和所述備選編碼方式數(shù)組中的一種編碼方式作為所述待編碼網(wǎng)頁(yè)的編碼方式。較佳地,所述處理模塊具體用于從所述備選編碼方式數(shù)組中選擇在所述參考編碼方式數(shù)組中的備選編碼方式作為所述待編碼網(wǎng)頁(yè)的編碼方式。較佳地,所述處理模塊具體用于所述備選編碼方式數(shù)組中包括一種備選編碼方式,若所述參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為所述待編碼網(wǎng)頁(yè)的編碼方式。較佳地,所述處理模塊具體用于所述備選編碼方式數(shù)組中包括多種備選編碼方式,從所述備選編碼方式數(shù)組中選擇包含在所述參考編碼方式數(shù)組中,且優(yōu)先級(jí)別最高的備選編碼方式作為所述待編碼網(wǎng)頁(yè)的編碼方式。較佳地,所述處理模塊還用于
在所述參考編碼方式數(shù)組中不包括所述備選編碼方式數(shù)組中任一備選編碼方式時(shí),確定所述參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式為所述待編碼網(wǎng)頁(yè)的編碼方式。較佳地,所述設(shè)備還包括

第一更新模塊,用于將選擇的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器增加一個(gè)預(yù)設(shè)的增量; 在優(yōu)先級(jí)低的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值大于優(yōu)先級(jí)高的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值時(shí),更新所述備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級(jí)。較佳地,所述設(shè)備還包括第二更新模塊,用于將選擇的參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式作為所述備選編碼方式數(shù)組中新的備選編碼方式,并設(shè)置所述新的備選編碼方式的優(yōu)先級(jí)最低。本發(fā)明實(shí)施例根據(jù)確定的參考編碼方式數(shù)組中的參考編碼方式與本地預(yù)設(shè)的備選編碼方式數(shù)組中的備選編碼方式,確定待編碼網(wǎng)頁(yè)的編碼方式,由于不完全依賴(lài)于待編碼網(wǎng)頁(yè)的聲明編碼方式及優(yōu)先級(jí)最高的參考編碼方式,在聲明編碼方式與待編碼網(wǎng)頁(yè)的實(shí)際編碼方式不一致,或在參考編碼方式數(shù)組中的優(yōu)先級(jí)最高的參考編碼方式與待編碼網(wǎng)頁(yè)的實(shí)際編碼方式不一致時(shí),確定的待編碼網(wǎng)頁(yè)的編碼方式更準(zhǔn)確,從而有效降低了編碼處理后的網(wǎng)頁(yè)頁(yè)面發(fā)生亂碼現(xiàn)象的概率。


圖1為本發(fā)明實(shí)施例的第一種確定網(wǎng)頁(yè)編碼方式的方法流程圖;圖2為本發(fā)明實(shí)施例的第二種確定網(wǎng)頁(yè)編碼方式的方法流程圖;圖3為本發(fā)明實(shí)施例的第三種確定網(wǎng)頁(yè)編碼方式的方法流程圖;圖4A為本發(fā)明實(shí)施例的第一種確定網(wǎng)頁(yè)編碼方式的設(shè)備結(jié)構(gòu)示意圖;圖4B為本發(fā)明實(shí)施例的第二種確定網(wǎng)頁(yè)編碼方式的設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明根據(jù)確定的參考編碼方式數(shù)組中的參考編碼方式與本地預(yù)設(shè)的備選編碼方式數(shù)組中的備選編碼方式,確定待編碼網(wǎng)頁(yè)的編碼方式的方式,使確定的待編碼網(wǎng)頁(yè)的編碼方式更準(zhǔn)確,有效降低了網(wǎng)頁(yè)頁(yè)面發(fā)生亂碼現(xiàn)象的概率。下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。需要說(shuō)明的是,以下實(shí)施例中都是以中文文字編碼方式為例對(duì)本發(fā)明實(shí)施例進(jìn)行說(shuō)明的,確定其他語(yǔ)言文字(如日文、韓文等)網(wǎng)頁(yè)的編碼方式的方法與其類(lèi)似,此處不再贅述。現(xiàn)有的中文文字的編碼方式主要包括UTF_8 (UNICODE的一種變長(zhǎng)字符編碼又稱(chēng)萬(wàn)國(guó)碼)、GBK (中文編碼擴(kuò)展國(guó)家標(biāo)準(zhǔn))、GB2312 (信息交換用漢字編碼字符集)、BIG_5 (大五碼)、IS0-8859-1 (單字節(jié)編碼),實(shí)際使用中,使用率高的編碼方式有UTF-8、GBK及 BIG-5。 本發(fā)明實(shí)施例適用于所有的移動(dòng)終端,尤其適用于手機(jī)設(shè)備。較佳地,本發(fā)明實(shí)施例適用于Android系統(tǒng)內(nèi)的基于WebKit的瀏覽器。在執(zhí)行本發(fā)明實(shí)施例的確定網(wǎng)頁(yè)編碼方式的方法之前,先根據(jù)接收到的啟動(dòng)指令,啟動(dòng)WebKit(開(kāi)源的瀏覽器引擎)的自動(dòng)檢測(cè)文字編碼;即將手機(jī)設(shè)備中的瀏覽器設(shè)置中的文字編碼設(shè)置為自動(dòng)檢測(cè)文字編碼;具體的,在瀏覽器的設(shè)置菜單中的文字編碼方式中增加“自動(dòng)檢測(cè)文字編碼”選項(xiàng),供用戶(hù)選擇;若用戶(hù)選擇該選項(xiàng),則采用本發(fā)明實(shí)施例的方法確定待編碼網(wǎng)頁(yè)的編碼方式;用戶(hù)在選擇該“自動(dòng)檢測(cè)文字編碼”選項(xiàng)后,瀏覽器通過(guò)調(diào)用以下程序?qū)崿F(xiàn)啟動(dòng)本發(fā)明實(shí)施例的確定網(wǎng)頁(yè)編碼方式的方法S ettingssetUsesEncodingDetector (true)。本發(fā)明實(shí)施例提供了一種確定網(wǎng)頁(yè)編碼方式的方法,如圖1所示,包括以下步驟S101、確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組,該參考編碼方式數(shù)組中包括至少一種參考編碼方式;S102、根據(jù)參考編碼方式數(shù)組及本地預(yù)設(shè)的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在該參考編碼方式數(shù)組和該備選編碼方式數(shù)組中的一種編碼方式作為待編碼網(wǎng)頁(yè)的編碼方式。步驟SlOl中,參考編碼方式數(shù)組是根據(jù)待編碼網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)確定的;較佳地,參考編碼方式數(shù)組是通過(guò)一個(gè)第三方軟件I⑶(International Componets for Unicode,國(guó)際化組件)確定的;具體的,根據(jù)以下步驟確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組將待編碼網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)通過(guò)I⑶提供的接口發(fā)送至I⑶進(jìn)行處理;其中,I⑶是一個(gè)開(kāi)源的軟件開(kāi)發(fā)庫(kù)。ICU根據(jù)收到的待編碼網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù),確定該網(wǎng)頁(yè)數(shù)據(jù)對(duì)應(yīng)的參考編碼方式數(shù)組;其中,參考編碼方式數(shù)組中的參考編碼方式的優(yōu)先級(jí)是根據(jù)該網(wǎng)頁(yè)數(shù)據(jù)的實(shí)際編碼方式與參考編碼方式之間的匹配度的高低確定的,即匹配度越高的參考編碼方式,其優(yōu)先級(jí)也就越高,其在該參考編碼方式數(shù)組中的排列位置也就越靠前,依此類(lèi)推;即優(yōu)先級(jí)最高的參考編碼方式排在該參考編碼方式數(shù)組中的matCheS
的位置上。下面以Android系統(tǒng)內(nèi)的基于WebKit的瀏覽器為例進(jìn)行說(shuō)明,其他情況與其類(lèi)似,此處不再贅述?,F(xiàn)有的WebKit對(duì)于收到的待編碼網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)的編碼是通過(guò) TextResourceDecoder類(lèi)的decode方法實(shí)現(xiàn)的;在啟用了自動(dòng)檢測(cè)文字編碼功能的情況下,大約每緩存4KB網(wǎng)頁(yè)數(shù)據(jù)均調(diào)用一次decode方法進(jìn)行編碼處理;由于每個(gè)網(wǎng)頁(yè)頁(yè)面框架(frame)內(nèi)的文字編碼方式一般都是統(tǒng)一的,因此,為了提高對(duì)待編碼網(wǎng)頁(yè)進(jìn)行編碼處理的效率,較佳地,本發(fā)明實(shí)施例根據(jù)下列步驟獲取待編碼網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)獲取待編碼網(wǎng)頁(yè)的每個(gè)框架中的部分網(wǎng)頁(yè)數(shù)據(jù);則確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組包括根據(jù)待編碼網(wǎng)頁(yè)的每個(gè)框架中的部分網(wǎng)頁(yè)數(shù)據(jù),確定每個(gè)框架對(duì)應(yīng)的參考編碼方式數(shù)組。需要說(shuō)明的是,每次緩存多少網(wǎng)頁(yè)數(shù)據(jù)才會(huì)進(jìn)行編碼處理取決于移植WebKit時(shí), 為WebKit提供的HTTP的處理機(jī)制,由于WebKit自身沒(méi)有HTTP數(shù)據(jù)收發(fā)機(jī)制,需要在移動(dòng)終端的安裝系統(tǒng)移植時(shí)為其提供數(shù)據(jù)收發(fā)功能。其中,在Android系統(tǒng)內(nèi),大約每緩存4KB 數(shù)據(jù)后才會(huì)提交給WebKit進(jìn)行處理。較佳地,在Android系統(tǒng)內(nèi),獲取待編碼網(wǎng)頁(yè)的每個(gè)框架中的第一批緩存的4KB網(wǎng)頁(yè)數(shù)據(jù),根據(jù)每個(gè)框架中的第一批緩存的4KB網(wǎng)頁(yè)數(shù)據(jù),確定每個(gè)框架對(duì)應(yīng)的參考編碼方式數(shù)組;本發(fā)明實(shí)施例通過(guò)減少調(diào)用decode方法的次數(shù),以提高編碼處理的效率。在確定待編碼網(wǎng)頁(yè)的編碼方式之后,本發(fā)明實(shí)施例還包括采用確定的編碼方式對(duì)待編碼網(wǎng)頁(yè)進(jìn)行編碼處理,以顯示該待編碼網(wǎng)頁(yè)的文字內(nèi)容。本地預(yù)設(shè)的備選編碼方式數(shù)組包括以下兩種情況第一種情況本地預(yù)設(shè)的備選編碼方式數(shù)組中僅包括一種備選編碼方式,則根據(jù)以下步驟確定待編碼網(wǎng)頁(yè)的編碼方式若確定 的參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為待編碼網(wǎng)頁(yè)的編碼方式;若確定的參考編碼方式數(shù)組中不包括該備選編碼方式,則確定該參考編碼方式數(shù)組中默認(rèn)的參考編碼方式(一般為參考編碼方式數(shù)組中排序位置在第一位的參考編碼方式,即匹配度最高的參考編碼方式)為待編碼網(wǎng)頁(yè)的編碼方式;需要說(shuō)明的是,若確定的待編碼網(wǎng)頁(yè)的編碼方式為參考編碼方式數(shù)組中默認(rèn)的參考編碼方式,則通過(guò)I⑶提供的接口從ICU中調(diào)用該確定的待編碼網(wǎng)頁(yè)的編碼方式,對(duì)待編碼網(wǎng)頁(yè)進(jìn)行編碼處理,以顯示網(wǎng)頁(yè)的文字內(nèi)容。舉例說(shuō)明,如圖2所示,若本地預(yù)設(shè)的備選編碼方式數(shù)組中僅包括UTF-8 —種備選編碼方式,則確定待編碼網(wǎng)頁(yè)的編碼方式包括以下步驟S201、判斷確定的參考編碼方式數(shù)組中是否包括UTF-8 ;若是,則執(zhí)行S202 ;若否, 則執(zhí)行S203 ;S202、確定UTF-8為待編碼網(wǎng)頁(yè)的編碼方式;并結(jié)束本流程;S203、確定參考編碼方式數(shù)組中默認(rèn)的參考編碼方式為待編碼網(wǎng)頁(yè)的編碼方式;S204、通過(guò)I⑶提供的接口從I⑶中調(diào)用確定的待編碼網(wǎng)頁(yè)的編碼方式。第二種情況本地預(yù)設(shè)的備選編碼方式數(shù)組中包括多種備選編碼方式時(shí),則根據(jù)以下步驟確定待編碼網(wǎng)頁(yè)的編碼方式若在參考編碼方式數(shù)組中包括備選編碼方式數(shù)組中至少一個(gè)備選編碼方式時(shí),確定備選編碼方式數(shù)組中優(yōu)先級(jí)別最高,且包含在參考編碼方式中的備選編碼方式作為待編碼網(wǎng)頁(yè)的編碼方式;其中,本地預(yù)設(shè)的備選編碼方式數(shù)組中的備選編碼方式的優(yōu)先級(jí)可以根據(jù)備選編碼方式在實(shí)際使用中的使用率的高低設(shè)定的,一般備選編碼方式的實(shí)際使用率越高,則在該備選編碼方式數(shù)組中的優(yōu)先級(jí)別就越高;若在參考編碼方式數(shù)組中不包括備選編碼方式數(shù)組中任一備選編碼方式時(shí),確定參考編碼方式數(shù)組中優(yōu)先級(jí)別最高的參考編碼方式作為待編碼網(wǎng)頁(yè)的編碼方式。下面以本地預(yù)設(shè)的備選編碼方式數(shù)組中包括三個(gè)備選編碼方式為例進(jìn)行說(shuō)明,其他情況與其類(lèi)似,此處不再贅述。如圖3所示,若本地預(yù)設(shè)的備選編碼方式數(shù)組中包括UTF-8、GBK及BIG-5三種備選編碼方式,該三種備選編碼方式在該備選編碼方式數(shù)組的優(yōu)先級(jí)從高到低依次為 UTF-8、GBK、BIG-5 ;則確定待編碼網(wǎng)頁(yè)的編碼方式包括以下步驟S301、判斷確定的參考編碼方式數(shù)組中是否包括UTF-8 ;若是,則執(zhí)行S302 ;若否,則執(zhí)行S303 ;S302、確定UTF-8為待編碼網(wǎng)頁(yè)的編碼方式,并結(jié)束本流程;S303、判斷確定的參考編碼方式數(shù)組中是否包括GBK ;若是,則執(zhí)行S304 ;若否,則執(zhí)行S305 ;

S304、確定GBK為待編碼網(wǎng)頁(yè)的編碼方式,并結(jié)束本流程;S305、判斷確定的參考編碼方式數(shù)組中是否包括BIG-5 ;若是,則執(zhí)行S306 ;若否, 則執(zhí)行S307 ;S306、確定BIG-5為待編碼網(wǎng)頁(yè)的編碼方式,并結(jié)束本流程;S307、確定參考編碼方式數(shù)組中匹配度最高的參考編碼方式(即參考編碼方式數(shù)組中的第一個(gè)參考編碼方式matches
)為待編碼網(wǎng)頁(yè)的編碼方式;S308、通過(guò)I⑶提供的接口從I⑶中調(diào)用確定的編碼方式。較佳地,本發(fā)明實(shí)施例的確定待編碼網(wǎng)頁(yè)的編碼方式可通過(guò)以下程序?qū)崿F(xiàn)
if (shouldAutoDetectO) { //如果開(kāi)啟了 WebKit的自動(dòng)檢測(cè)文字編碼功能; if (m_encoding.isJapanese()) //如果待編碼網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)是日文;
detectJapaneseEncoding(data, len); //確定待編碼網(wǎng)頁(yè)的編碼
方式;
else { //否則;
if (!m codec) { //如果當(dāng)前頁(yè)面框架Frame尚未構(gòu)建文本編碼 (Text Codec )對(duì)象;
TextEncoding detectedEncoding; //構(gòu)造一個(gè)文本編碼信息
對(duì)象;
if(detectTextEncoding(data,len,m_hintEncoding,
&detectedEncodmg;)) //根據(jù)本發(fā)明實(shí)施例的方法確定data變量?jī)?nèi)的網(wǎng)頁(yè)數(shù)椐的編碼方式,并將結(jié)果保存至構(gòu)造的文本編碼信息對(duì)象內(nèi);
setEncoding(detectedEncoding, AutoDetectedEncoding);
//根椐m codec中保存的編碼方式對(duì)data內(nèi)的數(shù)椐進(jìn)行編碼處理; }
}
}其中,shouldAutoDetectO用于判斷是否啟動(dòng)WebKit的自動(dòng)檢測(cè)文字編碼方式機(jī)制,即是否啟動(dòng)本發(fā)明實(shí)施例的確定網(wǎng)頁(yè)編碼方式的方法;在上述程序中,日文與其它語(yǔ)言文字是分別處理的,也就是說(shuō),對(duì)于確定日文網(wǎng)頁(yè)的編碼方式,WebKit并不使用I⑶檢測(cè)其文字編碼方式,而是使用 detactJapaneseEncoding()實(shí)現(xiàn)日文網(wǎng)頁(yè)編碼方式檢測(cè);而對(duì)于非日文文字,尤其是中文文字,則采用detectTextEncodingO檢測(cè)判斷算法,并通過(guò)ICU實(shí)現(xiàn)文字編碼方式的判斷;本發(fā)明實(shí)施例是對(duì)TextResourceDecoder類(lèi)的decode方法進(jìn)行改進(jìn),m_codec為 TextResourceDecoder類(lèi)的成員變量,當(dāng)收到待編碼網(wǎng)頁(yè)的頁(yè)面框架的第一批網(wǎng)頁(yè)數(shù)據(jù)時(shí), 構(gòu)造該對(duì)象;本發(fā)明實(shí)施例僅在接收到第一批網(wǎng)頁(yè)數(shù)據(jù)時(shí)判斷網(wǎng)頁(yè)數(shù)據(jù)對(duì)應(yīng)的編碼方式。
背景技術(shù)
中確定待編碼網(wǎng)頁(yè)的編碼方式的方法中,在獲取到該待編碼網(wǎng)頁(yè)的聲明編碼方式時(shí),確定獲取的聲明編碼方式為待編碼網(wǎng)頁(yè)的編碼方式;由于在獲取到該待編碼網(wǎng)頁(yè)的聲明編碼方式時(shí)完全依賴(lài)于網(wǎng)頁(yè)的聲明編碼方式,又由于手機(jī)終端一般都是通過(guò) WAP代理瀏覽互聯(lián)網(wǎng)網(wǎng)頁(yè),所以,容易導(dǎo)致確定的待編碼網(wǎng)頁(yè)的編碼方式與待編碼網(wǎng)頁(yè)的實(shí)際編碼方式不一致,從而出現(xiàn)頁(yè)面亂碼的現(xiàn)象;而本發(fā)明實(shí)施例通過(guò)參考編碼方式數(shù)組與本地預(yù)設(shè)的備選編碼方式數(shù)組確定待編碼網(wǎng)頁(yè)的編碼方式,由于不考慮是否能獲取到該待編碼網(wǎng)頁(yè)的聲明編碼方式,所以能夠有效降低頁(yè)面發(fā)生亂碼現(xiàn)象;一般可以選擇Android系統(tǒng)內(nèi)的I⑶確定的參考編碼方式數(shù)組中的第一個(gè)參考編碼方式matChes
作為待編碼網(wǎng)頁(yè)的編碼方式;但是實(shí)際應(yīng)用中,待編碼網(wǎng)頁(yè)的實(shí)際編碼方式常常與I⑶返回的參考編碼方式數(shù)組的matches
不一致,從而導(dǎo)致采用matches
對(duì)待編碼網(wǎng)頁(yè)進(jìn)行編碼處理后,頁(yè)面出現(xiàn)亂碼現(xiàn)象;本發(fā)明實(shí)施例通過(guò)比較參考編碼方式數(shù)組中的參考編碼方式與本地預(yù)設(shè)備選編碼方式數(shù)組中的備選編碼方式,確定的待編碼網(wǎng)頁(yè)的編碼方式,由于不完全依賴(lài)于ICU返回的參考編碼方式數(shù)組,從而使確定的待編碼網(wǎng)頁(yè)的編碼方式更為準(zhǔn)確,進(jìn)而能夠有效降低頁(yè)面發(fā)生亂碼現(xiàn)象。本發(fā)明實(shí)施例的方法還包括在備選編碼方式數(shù)組中增加新的備選編碼方式;及對(duì)備選編碼方式數(shù)組中當(dāng)前備選編碼方式的優(yōu)先級(jí)進(jìn)行更新。具體的,本發(fā)明實(shí)施例的增加新的備選編碼方式包括在參考編碼方式數(shù)組中不包括備選編碼方式數(shù)組中任一的備選編碼方式時(shí),將選擇的參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式作為該備選編碼方式數(shù)組中新的備選編碼方式,并設(shè)置該新的備選編碼方式的優(yōu)先級(jí)最低。以圖2所示的方法為例,假設(shè)參考編碼方式數(shù)組的matches
中的參考編碼方式為 GBK ;在參考編碼方式數(shù)組中不包括UTF-8時(shí),確定參考編碼方式數(shù)組中的matches
即GBK為待編碼網(wǎng)頁(yè)的編碼方式;將GBK添加至備選編碼方式數(shù)組中,并設(shè)置GBK的優(yōu)先級(jí)最低;此時(shí)備選編碼方式數(shù)組包括兩種備選編碼方式,按優(yōu)先級(jí)從高到低依次為UTF-8、GBK0本發(fā)明實(shí)施例的對(duì)備選編碼方式數(shù)組中當(dāng)前備選編碼方式的優(yōu)先級(jí)進(jìn)行更新,包括從備選編碼方式數(shù)組中選擇在參考編碼方式數(shù)組中的備選編碼方式之后,將選擇的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器增加一個(gè)預(yù)設(shè)的增量;其中預(yù)設(shè)的增量為經(jīng)驗(yàn)值,一般為1 ;
在優(yōu)先級(jí)低的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值大于優(yōu)先級(jí)高的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值時(shí),更新該備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級(jí);以圖3所示的方法為例,假設(shè)UTF-8、GBK、BIG_5對(duì)應(yīng)的計(jì)數(shù)器中原始數(shù)值均為0 ;若確定的待編碼網(wǎng)頁(yè)的編碼方式為UTFUU UTF-8對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值加1 ;若確定的待編碼網(wǎng)頁(yè)的編碼方式為GBK,則GBK對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值加1 ;

若確定的待編碼網(wǎng)頁(yè)的編碼方式為BIG-5,則BIG-5對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值加1 ;在UTF-8對(duì)應(yīng)的計(jì)數(shù)器的當(dāng)前數(shù)值為10,GBK對(duì)應(yīng)的計(jì)數(shù)器的當(dāng)前數(shù)值為11 ; BIG-5對(duì)應(yīng)的計(jì)數(shù)器的當(dāng)前數(shù)值為8時(shí),即優(yōu)先級(jí)低的GBK對(duì)應(yīng)的計(jì)數(shù)器的當(dāng)前數(shù)值大于優(yōu)先級(jí)高的UTF-8對(duì)應(yīng)的計(jì)數(shù)器的當(dāng)前數(shù)值,則更新該備選編碼方式數(shù)組中的備選編碼方式的優(yōu)先級(jí),更新后的參考編碼方式的優(yōu)先級(jí)從高到低依次為GBK、UTF-8、BIG-5。基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種確定網(wǎng)頁(yè)編碼方式的設(shè)備,由于該設(shè)備解決問(wèn)題的原理與上述確定網(wǎng)頁(yè)編碼方式的方法相似,因此該設(shè)備的實(shí)施可以參見(jiàn)方法的實(shí)施,重復(fù)之處不再贅述。本發(fā)明實(shí)施例提供了一種確定網(wǎng)頁(yè)編碼方式的設(shè)備,如圖4A所示,設(shè)備包括確定模塊40,用于確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組,該參考編碼方式數(shù)組中包括至少一種參考編碼方式;處理模塊41,用于根據(jù)參考編碼方式數(shù)組及本地預(yù)設(shè)的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在該參考編碼方式數(shù)組和該備選編碼方式數(shù)組中的一種編碼方式作為待編碼網(wǎng)頁(yè)的編碼方式。較佳地,處理模塊41具體用于備選編碼方式數(shù)組中包括一種備選編碼方式,若參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為待編碼網(wǎng)頁(yè)的編碼方式。較佳地,處理模塊41具體用于備選編碼方式數(shù)組中包括多種備選編碼方式,從該備選編碼方式數(shù)組中選擇包含在參考編碼方式數(shù)組中,且優(yōu)先級(jí)別最高的備選編碼方式作為待編碼網(wǎng)頁(yè)的編碼方式。較佳地,處理模塊41還用于在參考編碼方式數(shù)組中不包括備選編碼方式數(shù)組中任一備選編碼方式時(shí),確定參考編碼方式數(shù)組中優(yōu)先級(jí)別最高的參考編碼方式為待編碼網(wǎng)頁(yè)的編碼方式。較佳地,如圖4B所示,本發(fā)明實(shí)施例的設(shè)備還包括第一更新模塊42,用于將選擇的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器增加一個(gè)預(yù)設(shè)的增量;在優(yōu)先級(jí)低的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值大于優(yōu)先級(jí)高的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值時(shí),更新該備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級(jí)。較佳地,如圖4B所示,本發(fā)明實(shí)施例的設(shè)備還包括第二更新模塊43,用于將選擇的參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式作為該備選編碼方式數(shù)組中新的備選編碼方式,并設(shè)置該新的備選編碼方式的優(yōu)先級(jí)最低。本發(fā)明實(shí)施例根據(jù)確定的參考編碼方式數(shù)組中的參考編碼方式與本地預(yù)先設(shè)定的備選編碼方式數(shù)組中的備選編碼方式,確定待編碼網(wǎng)頁(yè)的編碼方式,由于不完全依賴(lài)于待編碼網(wǎng)頁(yè)的聲明編碼方式及優(yōu)先級(jí)別最高的參考編碼方式,在聲明編碼方式與待編碼網(wǎng)頁(yè)的實(shí)際編碼方式不一致,或在參考編碼方式數(shù)組中的優(yōu)先級(jí)最高的參考編碼方式與待編碼網(wǎng)頁(yè)的實(shí)際編碼方式不一致時(shí),確定的待編碼網(wǎng)頁(yè)的編碼方式更準(zhǔn)確,從而有效降低了編碼處理后的網(wǎng)頁(yè)頁(yè)面發(fā)生亂碼現(xiàn)象的概率。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種確定網(wǎng)頁(yè)編碼方式的方法,其特征在于,所述方法包括確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組,所述參考編碼方式數(shù)組中包括至少一種參考編碼方式;根據(jù)所述參考編碼方式數(shù)組及本地預(yù)設(shè)的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在所述參考編碼方式數(shù)組和所述備選編碼方式數(shù)組中的一種編碼方式作為所述待編碼網(wǎng)頁(yè)的編碼方式。
2.如權(quán)利要求1所述的方法,其特征在于,所述備選編碼方式數(shù)組中包括一種備選編碼方式;確定所述待編碼網(wǎng)頁(yè)的編碼方式包括若所述參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為所述待編碼網(wǎng)頁(yè)的編碼方式。
3.如權(quán)利要求1所述的方法,其特征在于,所述備選編碼方式數(shù)組中包括多種備選編碼方式;確定所述待編碼網(wǎng)頁(yè)的編碼方式包括從所述備選編碼方式數(shù)組中選擇包含在所述參考編碼方式數(shù)組中,且優(yōu)先級(jí)別最高的備選編碼方式作為所述待編碼網(wǎng)頁(yè)的編碼方式。
4.如權(quán)利要求1所述的方法,其特征在于,確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組之后, 還包括在所述參考編碼方式數(shù)組中不包括所述備選編碼方式數(shù)組中任一備選編碼方式時(shí),確定所述參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式為所述待編碼網(wǎng)頁(yè)的編碼方式。
5.如權(quán)利要求1 3任一所述的方法,其特征在于,所述方法還包括將選擇的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器增加一個(gè)預(yù)設(shè)的增量;在優(yōu)先級(jí)低的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值大于優(yōu)先級(jí)高的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值時(shí),更新所述備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級(jí)。
6.如權(quán)利要求1或4所述的方法,其特征在于,所述方法還包括將選擇的參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式作為所述備選編碼方式數(shù)組中新的備選編碼方式,并設(shè)置所述新的備選編碼方式的優(yōu)先級(jí)最低。
7.如權(quán)利要求1 4任一所述的方法,其特征在于,根據(jù)下列步驟確定所述參考編碼方式數(shù)組獲取所述待編碼網(wǎng)頁(yè)的每個(gè)框架frame中的部分網(wǎng)頁(yè)數(shù)據(jù);根據(jù)獲取到的網(wǎng)頁(yè)數(shù)據(jù)確定該網(wǎng)頁(yè)數(shù)據(jù)對(duì)應(yīng)的參考編碼方式數(shù)組。
8.一種確定網(wǎng)頁(yè)編碼方式的設(shè)備,其特征在于,所述設(shè)備包括確定模塊,用于確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組,所述參考編碼方式數(shù)組中包括至少一種參考編碼方式;處理模塊,用于根據(jù)所述參考編碼方式數(shù)組及本地預(yù)設(shè)的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在所述參考編碼方式數(shù)組和所述備選編碼方式數(shù)組中的一種編碼方式作為所述待編碼網(wǎng)頁(yè)的編碼方式。
9.如權(quán)利要求8所述的設(shè)備,其特征在于,所述處理模塊具體用于所述備選編碼方式數(shù)組中包括一種備選編碼方式,若所述參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為所述待編碼網(wǎng)頁(yè)的編碼方式。
10.如權(quán)利要求8所述的設(shè)備,其特征在于,所述處理模塊具體用于所述備選編碼方式數(shù)組中包括多種備選編碼方式,從所述備選編碼方式數(shù)組中選擇在所述參考編碼方式數(shù)組中,且優(yōu)先級(jí)別最高的備選編碼方式作為所述待編碼網(wǎng)頁(yè)的編碼方式。
11.如權(quán)利要求8所述的設(shè)備,其特征在于,所述處理模塊還用于在所述參考編碼方式數(shù)組中不包括所述備選編碼方式數(shù)組中任一備選編碼方式時(shí),確定所述參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式為所述待編碼網(wǎng)頁(yè)的編碼方式。
12.如權(quán)利要求8 10任一所述的設(shè)備,其特征在于,所述設(shè)備還包括第一更新模塊,用于將選擇的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器增加一個(gè)預(yù)設(shè)的增量;在優(yōu)先級(jí)低的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值大于優(yōu)先級(jí)高的備選編碼方式對(duì)應(yīng)的計(jì)數(shù)器中的數(shù)值時(shí),更新所述備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級(jí)。
13.如權(quán)利要求8或11所述的設(shè)備,其特征在于,所述設(shè)備還包括第二更新模塊,用于將選擇的參考編碼方式數(shù)組中優(yōu)先級(jí)最高的參考編碼方式作為所述備選編碼方式數(shù)組中新的備選編碼方式,并設(shè)置所述新的備選編碼方式的優(yōu)先級(jí)最低。
全文摘要
本發(fā)明實(shí)施例涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種確定網(wǎng)頁(yè)編碼方式的方法及設(shè)備,用于解決現(xiàn)有技術(shù)中的確定網(wǎng)頁(yè)編碼方式的方法的正確率低,從而使網(wǎng)頁(yè)進(jìn)行編碼處理后容易出現(xiàn)亂碼現(xiàn)象的問(wèn)題。本發(fā)明實(shí)施例的一種確定網(wǎng)頁(yè)編碼方式的方法包括確定待編碼網(wǎng)頁(yè)的參考編碼方式數(shù)組;根據(jù)參考編碼方式數(shù)組及本地預(yù)設(shè)的備選編碼方式數(shù)組,確定出包含在該參考編碼方式數(shù)組和該備選編碼方式數(shù)組中的一種編碼方式作為待編碼網(wǎng)頁(yè)的編碼方式。由于本發(fā)明實(shí)施例不完全依賴(lài)于待編碼網(wǎng)頁(yè)的聲明編碼方式及參考編碼方式,使確定的待編碼網(wǎng)頁(yè)的編碼方式更準(zhǔn)確,從而有效降低了編碼處理后的網(wǎng)頁(yè)頁(yè)面發(fā)生亂碼現(xiàn)象的概率。
文檔編號(hào)G06F17/30GK102360392SQ201110326140
公開(kāi)日2012年2月22日 申請(qǐng)日期2011年10月24日 優(yōu)先權(quán)日2011年10月24日
發(fā)明者朱宏浩 申請(qǐng)人:青島海信移動(dòng)通信技術(shù)股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
浦县| 拉萨市| 衡山县| 伊川县| 昌都县| 黄石市| 延津县| 福建省| 保山市| 杭锦旗| 谢通门县| 凌海市| 丰顺县| 澎湖县| 林口县| 昭苏县| 海兴县| 九龙城区| 师宗县| 岢岚县| 漾濞| 长岭县| 大埔县| 清镇市| 宁夏| 亳州市| 兰西县| 平舆县| 元阳县| 虞城县| 阿拉尔市| 湖州市| 宁安市| 乐山市| 卓资县| 天气| 年辖:市辖区| 昆山市| 闻喜县| 龙游县| 鞍山市|