亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

WEB開發中不同情況下的亂碼處理方案

時間:2024-10-29 00:59:50 計算機網絡畢業論文 我要投稿
  • 相關推薦

WEB開發中不同情況下的亂碼處理方案

  摘要:隨著時代的改變,現在人們與計算機已經是密不可分,信息技術的應用顯得異常重要。而在WEB系統開發中經常出現一些亂碼狀況,本文針對WEB開發中遇到的不同亂碼情況研究不同的處理方案。在整個B/S請求從客戶端頁面提交內容到服務器,服務器接收響應,并從數據庫中獲取數據,經過一番處理之后再返回給客戶端的瀏覽器頁面顯示的過程中,只要一個環節在轉碼過程中有錯誤就會導致亂碼的現象發生。在計算機系統上突然出現亂碼情況,需要先判斷亂碼的現象,要根據現象,查出數據在整個數據流向的過程中,數據到底從什么時候什么地方開始由正常開始變為亂碼,即找出數據變成亂碼的分界點。

WEB開發中不同情況下的亂碼處理方案

  關鍵詞:WEB開發;處理方案;亂碼

  引言

  亂碼是應用系統運行中經常出現的一個問題,也是應用系統中非常突出而且必須解決的一個問題。由于引起出現亂碼的因素很多,例如:數據庫本身的亂碼,字符的亂碼,JDBC與數據庫數據交換時的編輯問題,所以解決亂碼問題比較復雜,本文針對這幾個亂碼問題提出了相應的解決方案。本文從編碼原理到實際案例對亂碼原因進行詳細的分析,并且整理和歸納了多個項目出現亂碼現象的解決經驗,總結了解決一般性亂碼的辦法和過程。針對我們遇到亂碼問題的經驗總結,同時,列出了不同環境下經常遇到過的亂碼問題的解決過程:

  一、數據庫本身亂碼的解決方案

  1.1 比如:Oracle數據庫在安裝的過程中就可以選擇某種字符集:ALTER DATABASE CHARACTER SET ZHS16GBK。

  查找當前字符集:select userenv('language') from dual;DB2在創建數據庫的時候可以指定字符集:create database sccrm using codeset UTF-8 territory CN。

  MySQL在創建數據庫的時候可以指定字符集:create database testxxx default charset=UTF-8。

  1.2 操作系統是否安裝相應的字符集(unix下可以用locale查看當前字符集),將相應的數據打印出來即可。

  1.3 Java程序是否存在轉碼錯誤,字符集經常是在UTF-8、GBK、ISO-8859-1之間轉換。

  二、應用服務器各個相關設置字符集的地方是否設置正確

  找到分界點之后,針對分界點之前和之后,查找在什么地方可以設置字符集,每一個分界點可以在哪些地方設置相關的字符集。如果是程序,可以查找到哪一行代碼獲取數據的時候開始亂碼,從而可以考慮修改代碼。如果不是程序,需要查看當前應用有哪些地方可以設置字符集,并且要了解每個設置字符集的地方,他們之間的相互關系。

  三、對字符亂碼問題定位的常用技巧

  在網絡系統中經常會出現字符亂碼的情況,在這種情況下,首先要對字符亂碼問題定位:如對中文encoding問題的定位基本采用在認為有可能的程序處理后打印字符串的內碼,這是最簡單的也是最直接的辦法。

  四、JDBC與數據庫數據交換時的編輯問題

  在JAVA運行期時,內容交換的編碼為unicode編碼,JDBC接收到的字符流必須是合法的編碼格式,然后由JDBC向數據庫提交數據請求。

  JSP/Servlet 編程中經常出現編碼問題,除了上述討論的方面,另一方面是讀寫數據庫中的數據。

  在目前的行業里經常使用的關系數據庫的系統大多都支持數據庫多語言編碼,在創建數據庫時基本上都可以制定它自己的字符集設置,數據庫的數據就將以指定的編碼形式存儲。當應用程序訪問數據時,在入口和出口處都會有encoding 轉換。對于中文數據,數據庫字符編碼的設置應當保證數據的完整性。GB2312、GBK、UTF-8、ISO-8859-1等都是可選的數據庫編碼。但是如果編碼設置成了ISO-8859-1,則應用程序在寫數據之前須將16Bit的一個漢字或 Unicode 拆分成兩個8-bit的字符,讀數據之后則需將兩個字節合并起來,同時還要判別其中的SBCS字符。這種情況沒有充分利用數據庫編碼的作用,反而增加了編程的復雜度。因此ISO-8859-1不是推薦的數據庫編碼。針對上述狀況,下列代碼示例了如果Java應用是基于GB18030編碼,而數據庫編碼是ISO-8859-1的情況,如何通過Java代碼轉換字符而不會產生亂碼。

  五、客戶端與服務器之間的數據交換編碼問題

  從browser到web server,我們可以在表單中指定出提交內容的時候所用到的這些字符集,否則我們就會使用頁面指定的這些編碼。但是如果在url中直接用?的方式輸入參數的話,那么編碼往往會是操作系統本身的這些編碼,因為此時是和頁面無關緊要的。Web server它所接收到的是字節流的,默認是(getParameter)會以iso8859-1編碼處理,結果肯定是不對的,所以就需要進行處理解決。我們如果提前設置了編碼(通過request. setCharacterEncoding ),那么就可以直接獲取到正確的結果。

  參考文獻:

  [1]周兵.Java Web開發中的中文亂碼問題分析及解決方[J].電腦知識與技術,2014-10-15.

  [2]楊金花.JSP技術中文亂碼的原因及解決方法[J].電子設計工程,2011-01-05.

  [3]張瑋,文福安,李江濤.J2EE Web應用中URL中文亂碼問題的研究[J].計算機時代,2008-10-02.

  [4]朱明倫.管理技術在Web2.0應用中的研究[J].上海師范大學,2006-04-01.

  [5]鄒俊.基于Oracle數據庫系統性能調整與優化研究[J].江西財經大學,2006-10-01.

【WEB開發中不同情況下的亂碼處理方案】相關文章:

程序開發中異常的理解及處理異常03-20

利用PowerBuilder開發WEB應用03-19

不同情況下病人的心理護理03-06

論利用ebXML和SOAP開發Web服務03-18

基于Web的多媒體CAI課件開發過程中若干問題的研究和實踐03-18

新準則中研究開發費用會計處理的分析03-11

基于ASP技術開發Web數據庫檢索程序03-18

談不同體裁聲樂作品的藝術處理03-19

異地并行設計中WEB數據庫設計*03-18

關于研究與開發費用處理的思考03-24

主站蜘蛛池模板: 精品视频国产香蕉尹人视频| 色av专区无码影音先锋| 久久黄色毛片| 久久精品人人做人人爽电影| 色妞av永久一区二区国产av开| 又大又爽又黄无码a片| 精品国产Av无码久久久苍井空| 四虎成人精品永久在线视频| 西西大胆午夜人体视频| 久久久久久久久免费看无码| 99精品视频在线观看免费播放| 国产精品视频2020年最新视频 | 40岁成熟女人牲交片| 一区二区乱子伦在线播放| 亚洲精品国偷拍自产在线观看| 乱中年女人伦av二区| 风韵丰满熟妇啪啪区老老熟妇| 国产互换人妻hd| 日韩在线 | 中文| 成人欧美一区二区三区黑人| 尼木县| 国产成人一区二区三区别| 伊人久久综合成人网| 精品蜜臀av在线天堂| 精品精品国产高清A毛片| 久久免费只有精品国产| 激情无码人妻又粗又大中国人| 亚洲精品久久久久久久久毛片直播| 久久久久青草线蕉亚洲| 国产精品无码久久四虎| 男男欧美一区二区| 亚洲人成无码网站| 国产精品无码久久一线| 激情黄色在线观看| 另类老妇奶性BBWBBw| 婷婷四虎东京热无码群交双飞视频| aⅴ免费在线观看| 亚洲国产成人va在线观看天堂 | 亚洲色在线v中文字幕| 在线播放亚洲人成电影| 最新国产精品拍自在线播放|