期刊VIP學(xué)術(shù)指導(dǎo) 符合學(xué)術(shù)規(guī)范和道德
保障品質(zhì) 保證專業(yè),沒有后顧之憂
來源:期刊VIP網(wǎng)所屬分類:計(jì)算機(jī)網(wǎng)絡(luò)時(shí)間:瀏覽:次
有關(guān)現(xiàn)在新網(wǎng)絡(luò)科技上的應(yīng)用模式有哪些呢,應(yīng)該如何來促進(jìn)現(xiàn)在網(wǎng)絡(luò)技術(shù)的應(yīng)用管理建設(shè)呢?本文是一篇網(wǎng)絡(luò)科技論文。我們也知道在目前的行業(yè)里經(jīng)常使用的關(guān)系數(shù)據(jù)庫的系統(tǒng)大多都支持?jǐn)?shù)據(jù)庫多語言編碼,在創(chuàng)建數(shù)據(jù)庫時(shí)基本上都可以制定它自己的字符集設(shè)置,數(shù)據(jù)庫的數(shù)據(jù)就將以指定的編碼形式存儲(chǔ)。當(dāng)應(yīng)用程序訪問數(shù)據(jù)時(shí),在入口和出口處都會(huì)有encoding 轉(zhuǎn)換。對(duì)于中文數(shù)據(jù),數(shù)據(jù)庫字符編碼的設(shè)置應(yīng)當(dāng)保證數(shù)據(jù)的完整性。GB2312、GBK、UTF-8、ISO-8859-1等都是可選的數(shù)據(jù)庫編碼。但是如果編碼設(shè)置成了ISO-8859-1,則應(yīng)用程序在寫數(shù)據(jù)之前須將16Bit的一個(gè)漢字或 Unicode 拆分成兩個(gè)8-bit的字符,讀數(shù)據(jù)之后則需將兩個(gè)字節(jié)合并起來,同時(shí)還要判別其中的SBCS字符。這種情況沒有充分利用數(shù)據(jù)庫編碼的作用,反而增加了編程的復(fù)雜度。因此ISO-8859-1不是推薦的數(shù)據(jù)庫編碼。針對(duì)上述狀況,下列代碼示例了如果Java應(yīng)用是基于GB18030編碼,而數(shù)據(jù)庫編碼是ISO-8859-1的情況,如何通過Java代碼轉(zhuǎn)換字符而不會(huì)產(chǎn)生亂碼。
摘要:隨著時(shí)代的改變,現(xiàn)在人們與計(jì)算機(jī)已經(jīng)是密不可分,信息技術(shù)的應(yīng)用顯得異常重要。而在WEB系統(tǒng)開發(fā)中經(jīng)常出現(xiàn)一些亂碼狀況,本文針對(duì)WEB開發(fā)中遇到的不同亂碼情況研究不同的處理方案。在整個(gè)B/S請(qǐng)求從客戶端頁面提交內(nèi)容到服務(wù)器,服務(wù)器接收響應(yīng),并從數(shù)據(jù)庫中獲取數(shù)據(jù),經(jīng)過一番處理之后再返回給客戶端的瀏覽器頁面顯示的過程中,只要一個(gè)環(huán)節(jié)在轉(zhuǎn)碼過程中有錯(cuò)誤就會(huì)導(dǎo)致亂碼的現(xiàn)象發(fā)生。在計(jì)算機(jī)系統(tǒng)上突然出現(xiàn)亂碼情況,需要先判斷亂碼的現(xiàn)象,要根據(jù)現(xiàn)象,查出數(shù)據(jù)在整個(gè)數(shù)據(jù)流向的過程中,數(shù)據(jù)到底從什么時(shí)候什么地方開始由正常開始變?yōu)閬y碼,即找出數(shù)據(jù)變成亂碼的分界點(diǎn)。
關(guān)鍵詞:WEB開發(fā);處理方案;亂碼,網(wǎng)絡(luò)科技論文
亂碼是應(yīng)用系統(tǒng)運(yùn)行中經(jīng)常出現(xiàn)的一個(gè)問題,也是應(yīng)用系統(tǒng)中非常突出而且必須解決的一個(gè)問題。由于引起出現(xiàn)亂碼的因素很多,例如:數(shù)據(jù)庫本身的亂碼,字符的亂碼,JDBC與數(shù)據(jù)庫數(shù)據(jù)交換時(shí)的編輯問題,所以解決亂碼問題比較復(fù)雜,本文針對(duì)這幾個(gè)亂碼問題提出了相應(yīng)的解決方案。本文從編碼原理到實(shí)際案例對(duì)亂碼原因進(jìn)行詳細(xì)的分析,并且整理和歸納了多個(gè)項(xiàng)目出現(xiàn)亂碼現(xiàn)象的解決經(jīng)驗(yàn),總結(jié)了解決一般性亂碼的辦法和過程。針對(duì)我們遇到亂碼問題的經(jīng)驗(yàn)總結(jié),同時(shí),列出了不同環(huán)境下經(jīng)常遇到過的亂碼問題的解決過程:
網(wǎng)絡(luò)論文:《智能計(jì)算機(jī)與應(yīng)用》,《智能計(jì)算機(jī)與應(yīng)用》2011年創(chuàng)刊,由國家工業(yè)和信息化部主管,繼續(xù)由哈爾濱工業(yè)大學(xué)主辦、哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院承辦。本刊宗旨:堅(jiān)持理論與實(shí)際結(jié)合,普及與提高結(jié)合,注重科學(xué)性、知識(shí)性、實(shí)用性,普及推廣電腦知識(shí),促進(jìn)電腦應(yīng)用水平不斷地提高,為廣大讀者和社會(huì)主義現(xiàn)代化建設(shè)服務(wù)。刊物特色:難易結(jié)合、靈活多樣、實(shí)用性強(qiáng)、可讀性好。2011年創(chuàng)刊,由國家工業(yè)和信息化部主管,繼續(xù)由哈爾濱工業(yè)大學(xué)主辦、哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院承辦。本刊宗旨:堅(jiān)持理論與實(shí)際結(jié)合,普及與提高結(jié)合,注重科學(xué)性、知識(shí)性、實(shí)用性,普及推廣電腦知識(shí),促進(jìn)電腦應(yīng)用水平不斷地提高,為廣大讀者和社會(huì)主義現(xiàn)代化建設(shè)服務(wù)。刊物特色:難易結(jié)合、靈活多樣、實(shí)用性強(qiáng)、可讀性好。

一、數(shù)據(jù)庫本身亂碼的解決方案
1.1 比如:Oracle數(shù)據(jù)庫在安裝的過程中就可以選擇某種字符集:ALTER DATABASE CHARACTER SET ZHS16GBK。
查找當(dāng)前字符集:select userenv('language') from dual;DB2在創(chuàng)建數(shù)據(jù)庫的時(shí)候可以指定字符集:create database sccrm using codeset UTF-8 territory CN。
MySQL在創(chuàng)建數(shù)據(jù)庫的時(shí)候可以指定字符集:create database testxxx default charset=UTF-8。
1.2 操作系統(tǒng)是否安裝相應(yīng)的字符集(unix下可以用locale查看當(dāng)前字符集),將相應(yīng)的數(shù)據(jù)打印出來即可。
1.3 Java程序是否存在轉(zhuǎn)碼錯(cuò)誤,字符集經(jīng)常是在UTF-8、GBK、ISO-8859-1之間轉(zhuǎn)換。
二、應(yīng)用服務(wù)器各個(gè)相關(guān)設(shè)置字符集的地方是否設(shè)置正確
找到分界點(diǎn)之后,針對(duì)分界點(diǎn)之前和之后,查找在什么地方可以設(shè)置字符集,每一個(gè)分界點(diǎn)可以在哪些地方設(shè)置相關(guān)的字符集。如果是程序,可以查找到哪一行代碼獲取數(shù)據(jù)的時(shí)候開始亂碼,從而可以考慮修改代碼。如果不是程序,需要查看當(dāng)前應(yīng)用有哪些地方可以設(shè)置字符集,并且要了解每個(gè)設(shè)置字符集的地方,他們之間的相互關(guān)系。
三、對(duì)字符亂碼問題定位的常用技巧
在網(wǎng)絡(luò)系統(tǒng)中經(jīng)常會(huì)出現(xiàn)字符亂碼的情況,在這種情況下,首先要對(duì)字符亂碼問題定位:如對(duì)中文encoding問題的定位基本采用在認(rèn)為有可能的程序處理后打印字符串的內(nèi)碼,這是最簡(jiǎn)單的也是最直接的辦法。
四、JDBC與數(shù)據(jù)庫數(shù)據(jù)交換時(shí)的編輯問題
在JAVA運(yùn)行期時(shí),內(nèi)容交換的編碼為unicode編碼,JDBC接收到的字符流必須是合法的編碼格式,然后由JDBC向數(shù)據(jù)庫提交數(shù)據(jù)請(qǐng)求。
JSP/Servlet 編程中經(jīng)常出現(xiàn)編碼問題,除了上述討論的方面,另一方面是讀寫數(shù)據(jù)庫中的數(shù)據(jù)。
五、客戶端與服務(wù)器之間的數(shù)據(jù)交換編碼問題
從browser到web server,我們可以在表單中指定出提交內(nèi)容的時(shí)候所用到的這些字符集,否則我們就會(huì)使用頁面指定的這些編碼。但是如果在url中直接用?的方式輸入?yún)?shù)的話,那么編碼往往會(huì)是操作系統(tǒng)本身的這些編碼,因?yàn)榇藭r(shí)是和頁面無關(guān)緊要的。Web server它所接收到的是字節(jié)流的,默認(rèn)是(getParameter)會(huì)以iso8859-1編碼處理,結(jié)果肯定是不對(duì)的,所以就需要進(jìn)行處理解決。我們?nèi)绻崆霸O(shè)置了編碼(通過request. setCharacterEncoding ),那么就可以直接獲取到正確的結(jié)果。