專利名稱:編碼方法和網(wǎng)絡(luò)服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及互聯(lián)網(wǎng)網(wǎng)絡(luò)技術(shù)編碼領(lǐng)域,尤其涉及一種編碼方法和網(wǎng)絡(luò)服務(wù) 器。
背景技術(shù):
隨著計算機在世界各地的普及,互聯(lián)網(wǎng)的大力發(fā)展,通過網(wǎng)絡(luò)技術(shù)實現(xiàn)信息的傳
播成了最主要的方法,信息的傳播最終要通過人類語言文字和圖片等方式展示出來,而該
文字和圖片的下載或是上傳,首先需要計算機對其進行編碼,在計算機編碼的過程中,首先
要確定字符集,并將字符集內(nèi)的字符排序,然后和二進制數(shù)字對應(yīng)起來,根據(jù)字符集內(nèi)字符
的多少,會確定用幾個字節(jié)來編碼。但是,每個國家地區(qū)的文字表現(xiàn)形式都不一樣,即要求
計算機下顯示出來與之相應(yīng)的字符集也不一樣,而且很多字符集之間不能兼容。 通常,操作系統(tǒng)和提供網(wǎng)絡(luò)服務(wù)的各種網(wǎng)絡(luò)服務(wù)器都默認使用一種編碼對請求信
息進行處理,即默認使用一種字符集,而在瀏覽器中各個網(wǎng)站的顯示頁面編碼則可能使用
不同于操作系統(tǒng)和網(wǎng)絡(luò)服務(wù)器中使用的字符集,就會出現(xiàn)亂碼問題。例如,網(wǎng)絡(luò)服務(wù)器根據(jù)
一種字符集對請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編碼并將編碼后的響應(yīng)數(shù)據(jù)發(fā)送給瀏覽器時,
瀏覽器上網(wǎng)站的顯示頁面編碼所使用的字符集如果與網(wǎng)絡(luò)服務(wù)器使用的字符集不相同,就
會導(dǎo)致網(wǎng)站的顯示頁面編碼無法正確對網(wǎng)絡(luò)服務(wù)器編碼后的響應(yīng)數(shù)據(jù)進行解碼,從而在瀏
覽器的屏幕上出現(xiàn)亂碼。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種編碼方法和網(wǎng)絡(luò)服務(wù)器,能夠保證當網(wǎng)絡(luò)服務(wù)器將根據(jù)請 求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編碼后發(fā)送給終端時,該編碼所使用的字符集與瀏覽器上網(wǎng)站 的顯示頁面編碼所使用的字符集相同,從而達到終端的瀏覽器的屏幕上不顯示亂碼的目 的。
本發(fā)明實施例提供一種編碼方法,其中,包括 網(wǎng)絡(luò)服務(wù)器接收并解析終端發(fā)送的請求信息,獲取所述請求信息中的項目標識和 請求內(nèi)容; 所述網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)所述請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編 碼,獲得第一編碼數(shù)據(jù); 所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述項目標識,從所述網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表 中獲取與所述項目標識對應(yīng)的環(huán)境配置參數(shù),所述環(huán)境配置參數(shù)至少包括第二字符集,并 根據(jù)所述第二字符集對所述第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù);
所述網(wǎng)絡(luò)服務(wù)器向所述終端發(fā)送所述第二編碼數(shù)據(jù)。
本發(fā)明實施例提供一種網(wǎng)絡(luò)服務(wù)器,其中,包括 請求接收解析模塊,用于網(wǎng)絡(luò)服務(wù)器接收并解析終端發(fā)送的請求信息,獲取所述 請求信息中的項目標識和請求內(nèi)容;
3
第一編碼模塊,用于所述網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)所述請求內(nèi)容生成 的響應(yīng)數(shù)據(jù)進行編碼,獲得第一編碼數(shù)據(jù); 第二編碼模塊,用于所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述項目標識,從所述網(wǎng)絡(luò)服務(wù)器的配 置文件的映射關(guān)系表中獲取與所述項目標識對應(yīng)的環(huán)境配置參數(shù),所述環(huán)境配置參數(shù)至少 包括第二字符集,并根據(jù)所述第二字符集對所述第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù) 據(jù); 發(fā)送模塊,用于所述網(wǎng)絡(luò)服務(wù)器向所述終端發(fā)送所述第二編碼數(shù)據(jù)。 本發(fā)明實施例的編碼方法和網(wǎng)絡(luò)服務(wù)器,通過網(wǎng)絡(luò)服務(wù)器對終端發(fā)送的響應(yīng)數(shù)據(jù)
進行編碼所采用的字符集,與終端瀏覽器網(wǎng)站上的顯示頁面編碼所使用的字符集相同,從
而使得終端瀏覽器網(wǎng)站上所使用的字符集能夠?qū)υ擁憫?yīng)數(shù)據(jù)進行正確的解碼,從而保證了
終端瀏覽器的屏幕上不會出現(xiàn)顯示亂碼的問題。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明編碼方法實施例一流程圖; 圖2為本發(fā)明編碼方法實施例二流程圖; 圖3為本發(fā)明編碼方法實施例三流程圖; 圖4為本發(fā)明網(wǎng)絡(luò)服務(wù)器實施例四的結(jié)構(gòu)示意圖; 圖5為本發(fā)明網(wǎng)絡(luò)服務(wù)器實施例五的結(jié)構(gòu)示意圖。
具體實施例方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例
中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是
本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員
在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
圖1為本發(fā)明編碼方法實施例一流程圖,在本實施例中,以終端發(fā)送的請求內(nèi)容
為根據(jù)請求內(nèi)容將生成的響應(yīng)數(shù)據(jù)發(fā)送給終端為例,詳細介紹本發(fā)明實施例的技術(shù)方案,
如圖1所示,本實施例的編碼方法具體可以包括以下步驟 步驟11、網(wǎng)絡(luò)服務(wù)器接收并解析終端發(fā)送的請求信息,獲取請求信息中的項目標 識和請求內(nèi)容; 在本實施例中,項目標識可以具體為網(wǎng)站的域名,例如www, bai du. com, cn (百
度),請求內(nèi)容可以具體為用戶在終端網(wǎng)站中的網(wǎng)頁搜索框上輸入的關(guān)鍵詞、在網(wǎng)頁上點擊 的文本鏈接或者上傳的一段文字等各種形式的請求內(nèi)容。 步驟12、網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編碼, 獲得第一編碼數(shù)據(jù); 通常請求下,操作系統(tǒng)不一樣,則操作系統(tǒng)對應(yīng)的網(wǎng)絡(luò)服務(wù)器所使用的第一字
4符集也不一樣,例如,當操作系統(tǒng)為Linux,則網(wǎng)絡(luò)服務(wù)器中使用的第一字符集具體為 Unicode轉(zhuǎn)換格式(Unicode Translation Format,以下簡稱為UTF)_8 ;當操作系統(tǒng)為 Windows 95/98,則網(wǎng)絡(luò)服務(wù)器中使用的第一字符集為漢字國標擴展碼(Chinese Internal Code Specification,以下簡稱GBK)。這樣,當某一個終端的網(wǎng)站的顯示頁面編碼所使用 的字符集是某一個操作系統(tǒng)的網(wǎng)絡(luò)服務(wù)器所使用的第一字符集,當該終端的網(wǎng)站向其他的 網(wǎng)絡(luò)務(wù)器發(fā)送請求信息時,其他網(wǎng)絡(luò)服務(wù)器發(fā)送給終端的第一編碼數(shù)據(jù)所使用的第一字符 集與該網(wǎng)站上顯示頁面編碼所使用的字符集不相同,從而無法正確對第一編碼數(shù)據(jù)進行解 碼,以使瀏覽器的屏幕上出現(xiàn)亂碼問題。 步驟13、網(wǎng)絡(luò)服務(wù)器根據(jù)項目標識,從網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表中獲 取與項目標識對應(yīng)的環(huán)境配置參數(shù),環(huán)境配置參數(shù)至少包括第二字符集,并根據(jù)第二字符 集對第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù); 該第二字符集與終端瀏覽器網(wǎng)站上的顯示頁面編碼所使用的字符集相同,具體 的,在創(chuàng)建一個網(wǎng)站時,需要對顯示頁面編碼所使用的字符集進行設(shè)定,當設(shè)定好所使用的 字符集后,即將該網(wǎng)站的域名和該字符集存儲在網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表中。 當網(wǎng)絡(luò)服務(wù)器根據(jù)項目標識,即根據(jù)網(wǎng)站域名從映射關(guān)系表中獲取第二字符集,該第二字 符集即為網(wǎng)站上的顯示頁面編碼所使用的字符集,例如,當創(chuàng)建一個網(wǎng)站時,其顯示頁面編 碼所使用的字符集設(shè)定為"UTF-8",則網(wǎng)絡(luò)服務(wù)器從配置文件的映射關(guān)系表中獲取的第二 字符集為"UTF-8"。 步驟14、網(wǎng)絡(luò)服務(wù)器向終端發(fā)送第二編碼數(shù)據(jù)。 具體的,當網(wǎng)絡(luò)服務(wù)器向終端發(fā)送由第二字符集編碼獲得的第二編碼數(shù)據(jù)時,終 端對接收到的該第二編碼數(shù)據(jù)根據(jù)顯示頁面編碼所使用的字符集進行解碼,由于該字符集 與第二字符集相同,因此能保證瀏覽器的屏幕上不出現(xiàn)亂碼問題。 值得注意的是,在本實施例中,步驟12和步驟13既可以同時執(zhí)行相應(yīng)的操作,也 可以先后執(zhí)行相應(yīng)的操作,并不限制本發(fā)明編碼方法的實現(xiàn)。 采用本發(fā)明實施例提供的編碼方法,網(wǎng)絡(luò)服務(wù)器向終端發(fā)送的第二編碼數(shù)據(jù)是由 第二字符集編碼得到的,該第二字符集與終端瀏覽器網(wǎng)站上的顯示頁面編碼所使用的字符 集相同,從而保證終端對接收到的第二編碼數(shù)據(jù)根據(jù)網(wǎng)站顯示頁面編碼設(shè)定的字符集進行 解碼時,終端瀏覽器的屏幕上不會出現(xiàn)亂碼的問題。 本實施例具體是在網(wǎng)絡(luò)配置文件的映射關(guān)系表中獲取與項目標識對應(yīng)的環(huán)境配 置參數(shù)的第二字符集的,即可以在上述步驟11前進一步包括下述步驟預(yù)先將環(huán)境配置參 數(shù)和項目標識的映射關(guān)系表存儲在網(wǎng)絡(luò)服務(wù)器的配置文件中。 進一步的,在上述實施例的基礎(chǔ)上,該編碼方法還包括當項目標識和環(huán)境配置參 數(shù)發(fā)生變化時,根據(jù)變化后的項目標識和環(huán)境配置參數(shù),更新該映射關(guān)系表。具體的,當創(chuàng) 建了一個新的網(wǎng)站時,或者對網(wǎng)站的顯示頁面編碼所使用的字符集進行更改時,為了保證 該網(wǎng)站發(fā)送的請求內(nèi)容,通過網(wǎng)絡(luò)服務(wù)器響應(yīng)得到的響應(yīng)數(shù)據(jù)能夠正常顯示在瀏覽器屏幕 上,即不出現(xiàn)亂碼問題,需要將新增的項目標識以及與該項目標識對應(yīng)的字符集存儲在配 置文件中,或者更新映射關(guān)系表,即更新該項目標識對應(yīng)的字符集。 本發(fā)明所提供的上述編碼方法可以應(yīng)用于不同的操作系統(tǒng),其中一種實施方案描 述如下。
5
以CentOS操作系統(tǒng)為例,CentOS操作系統(tǒng)的網(wǎng)絡(luò)服務(wù)器使用的第一字符集為 "zh_CN. UTF-8",對根據(jù)請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編碼的該第一字符集與一些中文網(wǎng) 站上顯示頁面編碼所使用的字符集不相同,從而導(dǎo)致了瀏覽器屏幕上顯示中文亂碼,在通 過不修改CentOS操作系統(tǒng)的網(wǎng)絡(luò)服務(wù)器的第一字符集的情況下,在本發(fā)明實施例中,先將 寫好的編碼轉(zhuǎn)化程序編譯成字節(jié)碼,即Java的類文件,并存儲在Java Web應(yīng)用程序的工程 項目下的Web-INF/classes/目錄下的包中。同時將中文網(wǎng)站的網(wǎng)站域名和與之對應(yīng)的顯 示頁面編碼所使用的字符集存儲在CentOS操作系統(tǒng)的網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系 表中。 當網(wǎng)絡(luò)服務(wù)器接收到終端發(fā)送的請求信息后,對接收到的請求信息進行解析,獲 取請求信息中的項目標識和請求內(nèi)容,網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)請求內(nèi)容生成 的響應(yīng)數(shù)據(jù)進行編碼,獲得第一編碼數(shù)據(jù),同時,網(wǎng)絡(luò)服務(wù)器根據(jù)項目標識,觸發(fā)對存儲在 Java Web應(yīng)用程序的工程項目下的Web-INF/classes/目錄下的包中的java的類文件進行 初始化,具體為從網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表中獲取與該項目標識對應(yīng)的環(huán)境配 置參數(shù),該環(huán)境配置參數(shù)至少包括第二字符集,該第二字符集即為該項目標識對應(yīng)的網(wǎng)站 上顯示頁面編碼所使用的字符集,同時該配置文件可以具體為配置文件Web-INF/Web. xml, 網(wǎng)絡(luò)服務(wù)器根據(jù)獲取到的第二字符集對第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù)。最后 將第二編碼數(shù)據(jù)發(fā)送給終端,以使得終端瀏覽器的屏幕上不出現(xiàn)亂碼問題。
圖2為本發(fā)明編碼方法實施例二流程圖,本實施例中,以終端發(fā)送的請求內(nèi)容具 體為根據(jù)請求內(nèi)容將生成的響應(yīng)數(shù)據(jù)存儲在數(shù)據(jù)庫中為例,詳細介紹本發(fā)明實施例的技術(shù) 方案,如圖2所示,本實施例的編碼方法具體可以包括以下步驟 步驟21、網(wǎng)絡(luò)服務(wù)器接收并解析終端發(fā)送的請求信息,獲取請求信息中的項目標 識和請求內(nèi)容; 步驟22、網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編碼, 獲得第一編碼數(shù)據(jù); 步驟23、網(wǎng)絡(luò)服務(wù)器根據(jù)項目標識,從網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表中獲 取與項目標識對應(yīng)的環(huán)境配置參數(shù),環(huán)境配置參數(shù)至少包括第二字符集,并根據(jù)第二字符 集對第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù); 步驟24、網(wǎng)絡(luò)服務(wù)器根據(jù)請求內(nèi)容,將第二編碼數(shù)據(jù)存儲到網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)庫
中;該請求內(nèi)容可具體為上傳一段文字。 步驟25、網(wǎng)絡(luò)服務(wù)器向終端發(fā)送第二編碼數(shù)據(jù)。 本實施例的技術(shù)方案保證了數(shù)據(jù)庫中存儲的第二編碼數(shù)據(jù),是通過第二字符集編 碼獲得的,即與網(wǎng)站的顯示頁面編碼所使用的字符集相同,從而更加有效的保證了終端瀏 覽器的屏幕上不會出現(xiàn)亂碼問題。 圖3為本發(fā)明編碼方法實施例三流程圖,在本實施例中,以終端發(fā)送的請求內(nèi)容 為將數(shù)據(jù)庫中的響應(yīng)數(shù)據(jù)發(fā)送給終端為例,詳細介紹本發(fā)明實施例的技術(shù)方案,如圖3所 示,本實施例的編碼方法具體可以包括以下步驟 步驟31、網(wǎng)絡(luò)服務(wù)器接收并解析終端發(fā)送的請求信息,獲取請求信息中的項目標 識和請求內(nèi)容; 步驟32、網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編碼,
6獲得第一編碼數(shù)據(jù); 步驟33、網(wǎng)絡(luò)服務(wù)器根據(jù)項目標識,從網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表中獲 取與項目標識對應(yīng)的環(huán)境配置參數(shù),環(huán)境配置參數(shù)至少包括第二字符集,并根據(jù)第二字符 集對第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù); 步驟34、網(wǎng)絡(luò)服務(wù)器根據(jù)請求內(nèi)容,將根據(jù)第二字符集對從數(shù)據(jù)庫中獲取的第三
編碼數(shù)據(jù)進行編碼,獲得第四編碼數(shù)據(jù),并將第四編碼數(shù)據(jù)發(fā)送給終端; 步驟35、網(wǎng)絡(luò)服務(wù)器向終端發(fā)送第二編碼數(shù)據(jù)。 值得注意的是,在步驟34中,該請求內(nèi)容具體可為一文本鏈接,當網(wǎng)絡(luò)服務(wù)器對
接收到得請求消息進行解析獲取到該請求內(nèi)容時,即從數(shù)據(jù)庫中獲取與該文本鏈接對應(yīng)的
響應(yīng)數(shù)據(jù),具體的,在現(xiàn)有技術(shù)中,如果從數(shù)據(jù)庫中獲取與該文本鏈接對應(yīng)的響應(yīng)數(shù)據(jù)時,
數(shù)據(jù)庫會根據(jù)數(shù)據(jù)庫默認的字符集對該響應(yīng)數(shù)據(jù)進行編碼,然后將編碼后的響應(yīng)數(shù)據(jù)發(fā)送
給終端,該編碼后的響應(yīng)數(shù)據(jù)為第三編碼,所以當該字符集與網(wǎng)站的顯示頁面編碼所使用
的字符集不相同的情況下,則會在瀏覽器的屏幕上出現(xiàn)亂碼問題。因此,在本發(fā)明實施例
中,為了保證從數(shù)據(jù)庫中獲取的第三編碼數(shù)據(jù)在發(fā)送給終端時,瀏覽器的屏幕上不會出現(xiàn)
亂碼,需要通過第二字符集對從數(shù)據(jù)庫中獲取的第三編碼數(shù)據(jù)進行編碼,以生成第四編碼
數(shù)據(jù),再將該第四編碼數(shù)據(jù)發(fā)送給終端,以使得從數(shù)據(jù)庫中獲取的第四編碼數(shù)據(jù)能夠正確
的被終端網(wǎng)站的顯示頁面編碼所使用的字符集解碼。 圖4為本發(fā)明網(wǎng)絡(luò)服務(wù)器實施例四的結(jié)構(gòu)示意圖。如圖4所示,該網(wǎng)絡(luò)服務(wù)器包
括請求接收解析模塊41、第一編碼模塊42、第二編碼模塊43和發(fā)送模塊44。其中,請求
接收解析模塊41用于網(wǎng)絡(luò)服務(wù)器接收并解析終端發(fā)送的請求信息,獲取請求信息中的項
目標識和請求內(nèi)容;第一編碼模塊42用于網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)請求內(nèi)容生
成的響應(yīng)數(shù)據(jù)進行編碼,獲得第一編碼數(shù)據(jù);第二編碼模塊43用于網(wǎng)絡(luò)服務(wù)器根據(jù)項目標
識,從網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表中獲取與項目標識對應(yīng)的環(huán)境配置參數(shù),該環(huán)
境配置參數(shù)至少包括第二字符集,并根據(jù)該第二字符集對第一編碼數(shù)據(jù)進行編碼,獲得第
二編碼數(shù)據(jù);發(fā)送模塊44,用于網(wǎng)絡(luò)服務(wù)器向終端發(fā)送第二編碼數(shù)據(jù)。 采用本發(fā)明的實施例,網(wǎng)絡(luò)服務(wù)器向終端發(fā)送的第二編碼數(shù)據(jù)是由第二字符集編
碼獲得的,該第二字符集與終端瀏覽器網(wǎng)站上的顯示頁面編碼所使用的字符集相同,從而
保證了終端對接收到的第二編碼數(shù)據(jù)根據(jù)網(wǎng)站顯示頁面編碼設(shè)定的字符集進行解碼時,終
端瀏覽器的屏幕上不會出現(xiàn)亂碼的問題。 圖5為本發(fā)明網(wǎng)絡(luò)服務(wù)器實施例五的結(jié)構(gòu)示意圖,如圖5所示,在上述實施例四的 基礎(chǔ)上,由于網(wǎng)絡(luò)服務(wù)器需要根據(jù)項目標識,從網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表中獲 取與項目標識對應(yīng)的環(huán)境配置參數(shù),以通過該環(huán)境配置參數(shù)中的第二字符集對第一編碼數(shù) 據(jù)進行編碼,因此網(wǎng)絡(luò)服務(wù)器還包括存儲模塊45,用于存儲網(wǎng)絡(luò)服務(wù)器的配置文件,該配
置文件中預(yù)先存儲中環(huán)境配置參數(shù)和項目標識的映射關(guān)系表。 進一步的,當項目標識和環(huán)境配置參數(shù)發(fā)生變化時,該網(wǎng)絡(luò)服務(wù)器還需包括更新 模塊46,用于當項目標識和環(huán)境配置參數(shù)發(fā)生變化時,根據(jù)變化后的項目標識和環(huán)境配置 參數(shù),更新映射關(guān)系表。 由于根據(jù)請求內(nèi)容,網(wǎng)絡(luò)服務(wù)器還需將第二編碼模塊43獲得的第二編碼數(shù)據(jù)進 行存儲,因此該網(wǎng)絡(luò)服務(wù)器還包括數(shù)據(jù)庫47,用于網(wǎng)絡(luò)服務(wù)器根據(jù)請求內(nèi)容,將第二編碼
7數(shù)據(jù)存儲到網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)庫47中。同時,當網(wǎng)絡(luò)服務(wù)器接收到的請求內(nèi)容為需要調(diào)用
數(shù)據(jù)庫47中存儲的第二編碼數(shù)據(jù)時,網(wǎng)絡(luò)服務(wù)器根據(jù)第二字符集對從數(shù)據(jù)庫中47中獲取
的第三編碼數(shù)據(jù)進行編碼,獲得第四編碼數(shù)據(jù),并將該第四編碼數(shù)據(jù)發(fā)送給終端。 采用本發(fā)明的實施例,網(wǎng)絡(luò)服務(wù)器不僅可以保證根據(jù)請求內(nèi)容生成的響應(yīng)數(shù)據(jù)能
夠被終端網(wǎng)站的顯示頁面編碼所使用的字符集正確解碼,同時還保證了從數(shù)據(jù)庫中獲取到
的響應(yīng)數(shù)據(jù)也能夠被終端網(wǎng)站的顯示頁面編碼所使用的字符集正確解碼。從而有效地保證
了瀏覽器的屏幕上不會出現(xiàn)亂碼問題。 基于本發(fā)明實施例四和實施例五所提供的網(wǎng)絡(luò)服務(wù)器來執(zhí)行本發(fā)明的編碼方法, 具體包括以下功能的操作 當網(wǎng)絡(luò)服務(wù)器對接收到得終端發(fā)送的請求消息進行解析,獲取到得請求內(nèi)容在不 涉及數(shù)據(jù)庫的情況下,例如為在網(wǎng)站上的搜索框上輸入一關(guān)鍵詞,則網(wǎng)絡(luò)服務(wù)器的工作流 程為請求接收解析模塊41接收終端發(fā)送的請求信息,并解析獲取請求信息中的項目標 識和請求內(nèi)容,然后第一編碼模塊42根據(jù)第一字符集,對請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編 碼,并獲得第一編碼數(shù)據(jù),并將第一編碼數(shù)據(jù)發(fā)送給第二編碼模塊43中,第二編碼模塊43 根據(jù)項目標識,從存儲模塊45中存儲的映射關(guān)系表中獲取與項目標識對應(yīng)的環(huán)境配置參 數(shù)中的第二字符集,并根據(jù)第二字符集對第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù),在將 第二編碼數(shù)據(jù)通過發(fā)送模塊44發(fā)送給終端。 當網(wǎng)絡(luò)服務(wù)器對接收到得終端發(fā)送的請求消息進行解析,獲取到得請求內(nèi)容將響 應(yīng)數(shù)據(jù)保存在數(shù)據(jù)庫中,例如為在網(wǎng)站上上傳一段文字,則網(wǎng)絡(luò)服務(wù)器的工作流程為請求 接收解析模塊41接收終端發(fā)送的請求信息,并解析獲取請求信息中的項目標識和請求內(nèi) 容,然后第一編碼模塊42根據(jù)第一字符集,對請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編碼,并獲得 第一編碼數(shù)據(jù),并將第一編碼數(shù)據(jù)發(fā)送給第二編碼模塊43中,第二編碼模塊43根據(jù)項目標 識,從存儲模塊45中存儲的映射關(guān)系表中獲取與項目標識對應(yīng)的環(huán)境配置參數(shù)中的第二 字符集,并根據(jù)第二字符集對第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù),在將第二編碼數(shù) 據(jù)通過發(fā)送模塊44發(fā)送給終端的同時,還將該第二編碼數(shù)據(jù)存儲在數(shù)據(jù)庫47中。
當網(wǎng)絡(luò)服務(wù)器對接收到得終端發(fā)送的請求消息進行解析,獲取到得請求內(nèi)容為從 數(shù)據(jù)庫獲取響應(yīng)數(shù)據(jù)時,例如在網(wǎng)站上點擊一文本鏈接,以獲取與該文本鏈接對應(yīng)的內(nèi)容 時,則網(wǎng)絡(luò)服務(wù)器的工作流程為請求接收解析模塊41接收終端發(fā)送的請求信息,并解析 獲取請求信息中的項目標識和請求內(nèi)容,然后第一編碼模塊42根據(jù)第一字符集,對請求內(nèi) 容生成的響應(yīng)數(shù)據(jù)進行編碼,并獲得第一編碼數(shù)據(jù),并將第一編碼數(shù)據(jù)發(fā)送給第二編碼模 塊43中,第二編碼模塊43根據(jù)項目標識,從存儲模塊45中存儲的映射關(guān)系表中獲取與項 目標識對應(yīng)的環(huán)境配置參數(shù)中的第二字符集,并根據(jù)第二字符集對第一編碼數(shù)據(jù)進行編 碼,獲得第二編碼數(shù)據(jù),在將第二編碼數(shù)據(jù)通過發(fā)送模塊44發(fā)送給終端的同時,還從數(shù)據(jù) 庫47中獲取第三編碼數(shù)據(jù),并根據(jù)第二字符集對該第三編碼數(shù)據(jù)進行解碼,獲得第四編碼 數(shù)據(jù),然后將第四編碼數(shù)據(jù)發(fā)送給終端。 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序 在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、 RAM、磁碟或者 光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡 管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解其依然 可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精 神和范圍。
權(quán)利要求
一種編碼方法,其特征在于,包括網(wǎng)絡(luò)服務(wù)器接收并解析終端發(fā)送的請求信息,獲取所述請求信息中的項目標識和請求內(nèi)容;所述網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)所述請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編碼,獲得第一編碼數(shù)據(jù);所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述項目標識,從所述網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表中獲取與所述項目標識對應(yīng)的環(huán)境配置參數(shù),所述環(huán)境配置參數(shù)至少包括第二字符集,并根據(jù)所述第二字符集對所述第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù);所述網(wǎng)絡(luò)服務(wù)器向所述終端發(fā)送所述第二編碼數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的編碼方法,其特征在于,還包括預(yù)先將所述環(huán)境配置參數(shù)和 項目標識的映射關(guān)系表存儲在所述網(wǎng)絡(luò)服務(wù)器的配置文件中。
3. 根據(jù)權(quán)利要求2所述的編碼方法,其特征在于,還包括當所述項目標識和所述環(huán)境 配置參數(shù)發(fā)生變化時,根據(jù)變化后的項目標識和環(huán)境配置參數(shù),更新所述映射關(guān)系表。
4. 根據(jù)權(quán)利要求1或2或3所述的編碼方法,其特征在于,還包括所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述請求內(nèi)容,將所述第二編碼數(shù)據(jù)存儲到所述網(wǎng)絡(luò)服務(wù)器的數(shù) 據(jù)庫中。
5. 根據(jù)權(quán)利要求4所述的編碼方法,其特征在于,還包括所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述請求內(nèi)容,將根據(jù)所述第二字符集對從所述數(shù)據(jù)庫中獲取的 第三編碼數(shù)據(jù)進行編碼,獲得第四編碼數(shù)據(jù),并將所述第四編碼數(shù)據(jù)發(fā)送給所述終端。
6. —種網(wǎng)絡(luò)服務(wù)器,其特征在于,包括請求接收解析模塊,用于網(wǎng)絡(luò)服務(wù)器接收并解析終端發(fā)送的請求信息,獲取所述請求 信息中的項目標識和請求內(nèi)容;第一編碼模塊,用于所述網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)所述請求內(nèi)容生成的響 應(yīng)數(shù)據(jù)進行編碼,獲得第一編碼數(shù)據(jù);第二編碼模塊,用于所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述項目標識,從所述網(wǎng)絡(luò)服務(wù)器的配置文 件的映射關(guān)系表中獲取與所述項目標識對應(yīng)的環(huán)境配置參數(shù),所述環(huán)境配置參數(shù)至少包括 第二字符集,并根據(jù)所述第二字符集對所述第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù);發(fā)送模塊,用于所述網(wǎng)絡(luò)服務(wù)器向所述終端發(fā)送所述第二編碼數(shù)據(jù)。
7. 根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)服務(wù)器,其特征在于,還包括存儲模塊,用于存儲所述網(wǎng)絡(luò)服務(wù)器的配置文件,所述配置文件中預(yù)先存儲了所述環(huán) 境配置參數(shù)和項目標識的映射關(guān)系表。
8. 根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)服務(wù)器,其特征在于,還包括更新模塊,用于當所述項目標識和所述環(huán)境配置參數(shù)發(fā)生變化時,根據(jù)變化后的項目 標識和環(huán)境配置參數(shù),更新所述映射關(guān)系表。
9. 根據(jù)權(quán)利要求6或7或8所述的網(wǎng)絡(luò)服務(wù)器,其特征在于,還包括 數(shù)據(jù)庫,用于所述網(wǎng)絡(luò)服務(wù)器根據(jù)所述請求內(nèi)容,將所述第二編碼數(shù)據(jù)存儲到所述網(wǎng)絡(luò)服務(wù)器的所述數(shù)據(jù)庫中。
全文摘要
本發(fā)明提供一種編碼方法和網(wǎng)絡(luò)服務(wù)器。該編碼方法包括網(wǎng)絡(luò)服務(wù)器接收并解析終端發(fā)送的請求信息,獲取請求信息中的項目標識和請求內(nèi)容;網(wǎng)絡(luò)服務(wù)器根據(jù)第一字符集,對根據(jù)請求內(nèi)容生成的響應(yīng)數(shù)據(jù)進行編碼,獲得第一編碼數(shù)據(jù);網(wǎng)絡(luò)服務(wù)器根據(jù)項目標識,從網(wǎng)絡(luò)服務(wù)器的配置文件的映射關(guān)系表中獲取與項目標識對應(yīng)的環(huán)境配置參數(shù),環(huán)境配置參數(shù)至少包括第二字符集,并根據(jù)第二字符集對第一編碼數(shù)據(jù)進行編碼,獲得第二編碼數(shù)據(jù);網(wǎng)絡(luò)服務(wù)器向終端發(fā)送第二編碼數(shù)據(jù)。本發(fā)明通過編碼方法和網(wǎng)絡(luò)服務(wù)器使得網(wǎng)絡(luò)服務(wù)器發(fā)送給終端的第二編碼數(shù)據(jù)的采用的字符集與終端瀏覽器中的頁面編碼采用的字符集相同,從而解決了終端的瀏覽器屏幕上出現(xiàn)亂碼的問題。
文檔編號H04L1/00GK101702641SQ20091023753
公開日2010年5月5日 申請日期2009年11月11日 優(yōu)先權(quán)日2009年11月11日
發(fā)明者于麗娜, 岑光, 李楨, 高萬林 申請人:中國農(nóng)業(yè)大學(xué)