999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java Web開發中的亂碼問題

2016-03-11 22:11:29賈文瀟葉慧莉武昌理工學院信息工程學院430063深圳市云迅通科技股份有限公司研發部587
電子測試 2016年6期
關鍵詞:開發

賈文瀟,葉慧莉(.武昌理工學院信息工程學院,430063;.深圳市云迅通科技股份有限公司研發部,587)

?

Java Web開發中的亂碼問題

賈文瀟1,葉慧莉2
(1.武昌理工學院信息工程學院,430063;2.深圳市云迅通科技股份有限公司研發部,518172)

摘要:在進行Java Web開發的過程中,采用的編碼與解碼的方式不統一時,就會產生亂碼問題。本文簡要介紹了在J2EE平臺下Java Web開發中常用的字符編碼方式,并分析中文亂碼產生的原因,并在此基礎上針對常見的幾種中文亂碼問題給出相應的解決方案,使開發人員可以更方便的解決亂碼問題。

關鍵詞:中文亂碼;Java Web 開發;字符編碼

0 引言

經過多年發展,Java技術已經成為了最卓越的應用開發平臺,在移動互聯網、網絡計算等領域取得了成功的應用。在Java Web應用開發中,頁面中顯示的中文經常出現亂碼情況,其原因就是組件與組件、組件與瀏覽器、組件與數據庫之間等采用的編碼方式不同,所以在應用程序運行的過程中,汪汪要經過多次字符編碼之間的轉換才能正常的顯示,而在轉換的過程中一旦設置錯誤就會導致中文亂碼。本文從Java Web常見的編碼和運行原理出發,詳細介紹了Java Web開發過程中常見的中文亂碼問題以及解決方案。

1 Java Web應用開發中常用編碼

1.1 ISO8859-1

ISO8859-1編碼屬于單字節編碼,是國際標準化組織內ISO/ IEC 8859的第一個8位字符集,最多能夠表示的字符范圍是0-255,應用于英文系列,是Java網絡傳輸中使用的標準字符集。

1.2 UTF-8

UTF-8編碼可以兼容ISO8859-1編碼和Unicode編碼,用1 到6個字節不等編碼Unicode字符。同時UTF-8編碼帶有簡單的校驗功能,一般來說,用在網頁上可以在同一頁面顯示中文簡體繁體及其他語言。

1.3 Unicode

Unicode屬于統一的字符編碼標準集,可以用來表示所用語言的字符,使用2個字節或4個字節對每一個字符進行編碼,但是該編碼并不兼容ISO8859-1編碼,可以實現跨語言、跨平臺的文本轉換以及處理要求,是Java語言默認的字符集。

1.4 GB2312/GBK

GB2312和GBK是國國家標準漢字信息交換用編碼,專門用來表示漢子,簡稱國標碼,屬于雙字節編碼。其中GBK是對GB2312的擴充,能夠用來同時表示繁體字和簡體字,而GB2312只能夠表示簡體字。

2 Java Web的編碼機制

為了讓Java編寫的程序能夠在不同的語言平臺運行,Java在其語言內部使用了統一的Unicode字符集來表示字符。Java源程序是先根據操作系統默認的編碼方式來完成轉碼,并通過I/O操作得到相應的編碼字節流,將其轉換成UTF-8編碼寫入Class文件中。

當操作文件是簡體中文時默認的編碼格式是GBK,編譯時采用GBK方式轉化成Unicode,在轉化成UTF-8寫入到Class文件中。在原系統中不會出現亂碼現象,但是一旦移動到英文系統中很可能出現中文亂碼的現象,其原因就是Java采用UTF-8讀取Class文件,再將Class文件轉化為Unicode,在編碼轉換的過程中,都是通過Unicode編碼來作為中介來完成的,這時造成亂碼的主要原因是使用了錯誤的字符集解碼字節流或將給定的字節流用錯誤的字符集解碼。

3 Java Web開發亂碼問題解決方法

3.1 頁面顯示亂碼

在訪問JSP頁面或Servlet產生的頁面時,如果頁面上本該顯示中文的地方顯示為亂碼,這可能是瀏覽器的顯示不正確,也可能是后臺在生成界面時其內容就是亂碼。如果是瀏覽器問題就需要設置JSP或Servlet的屬性,在對JSP設置使用page指令時,其設置如下:

〈% @ p a g e c o n t e n t T y p e =”t e x t / html”;charset=”GB2312”〉

而對于Servlet生成頁面,在輸出頁面前調用

setContentType()方法,代碼如下:

r e s p o n s e . s e t C o n t e n t T y p e (“t e x t / html;charset=GB2312”)。

3.2 用戶提交數據亂碼

用戶數據提交有Post和Get兩種方法。

(1)采用get方式提交顯示亂碼及解決方案

采用get或參數方式提交數據,數據是附加在URL中,默認采用ISO-8859-1的編碼方式編碼,此時在JSP中設置的charset無效,為了解決這種情況下的亂碼,要在servlet

中添加代碼:

String str=new String(request.getParameter("參數名").getBytes("ISO-8859-1"),"utf-8")。

(2)采用post方式提交顯示亂碼及解決方案

采用post提交方式,提交的數據是通過Http的實體內容發送給服務器的,數據根據瀏覽器的charset編碼方式進行編碼,服務器在接收的時候也需要對request設置正確的解碼方式,設置的解碼方式不一致就會出現亂碼。

3.3 數據庫中數據亂碼

在JSP/Servlet與數據庫進行交互時,如果JSP/Servletz、傳輸通道、數據庫采用的編碼字符集不一致就會產生亂碼問題。要解決這一問題,首先確保JSP/Servlet采用的是GBK編碼,確保數據庫中的中文數據正常;其次確保數據庫采用GBK編碼,對于MySQL而言可以使用其配置向導設置數據庫采用GBK編碼作為默認集;最后連接MySQL數據庫的連接對象上設置字符集為GBK編碼,如下:

jdbc:mysql://localhost:3306/db1user=root&password= 123456&useUnicode=true&characterEncoding=GBK為連接字符串URL,其中characterEncoding=GBK是關鍵代碼,表示連接對象采用GBK編碼字符集。

4 結束語

本文從Java Web應用開發的字符編碼理論出發,介紹常用的字符編碼,并分析出現亂碼的原因,并給出了詳細的解決方法。綜上所述,在Java Web應用開發中,處理亂碼問題,首先要抓住亂碼的根源,按照顯示界面、接收數據、保存數據、讀取數據和將數據顯示給用戶的順序,逐步查找出問題的那一步,并采取相應的方法。

參考文獻

[1]王子君,范學蜂,張志浩. Java編碼問題研究與應用[J].計算機工程, 2002

[2]王進.基于JSP的Web開發中文亂碼問題研究[J].信息系統工程,2012

[3]劉永立.Java環境下Web程序的中文亂碼問題與對策[J].電腦編程技巧與維護,2011

[4]孫鑫.Java Web開發詳解[M].北京:電子工業出版社,2007 [5]李響,郝靜靜.Java Web開發中文亂碼問題的研究與解決[J].電腦知識與技術,2012

The garbage problem in the development of Web Java

Jia Wenxiao1,Ye Huili2
(1.Wuchang University of Technology Information and Engineering School,430063 2.Shenzhen cloud fast through Polytron Technologies Inc R & D department,518172)

Abstract:In Java Web development process, the use of the encoding and decoding way is not unified,will generate the code.This paper briefly introduces the J2EE platform is commonly used in Java Web development way of character encoding,and analyzes the causes of Chinese garbled,on the basis of several common Chinese garbled question for given corresponding solutions,the developer can more easily solve the problem of gibberish.

Keywords:Chinese garbled;Java Web development;A character encoding

猜你喜歡
開發
軟件開發信息管理系統的設計與實現
淺談動力總成騾子車開發方法
汽車科技(2016年5期)2016-11-14 08:04:56
高中歷史教學中對歷史圖片的開發及實際應用
考試周刊(2016年85期)2016-11-11 01:57:37
在線投稿與編輯系統的設計與開發
河南方言文化資源的保護及其開發利用的研究
遵義紅色旅游開發對策研究
基于J2EE和Ionic的ITer學習APP設計與開發
單片機在電子技術中的應用和開發
主站蜘蛛池模板: 国产精品熟女亚洲AV麻豆| 91久久精品日日躁夜夜躁欧美| 欧美在线中文字幕| 亚洲欧美日韩成人在线| 97精品国产高清久久久久蜜芽| 日本午夜精品一本在线观看| 2019年国产精品自拍不卡| 最新精品久久精品| 亚洲欧美自拍中文| 久久黄色小视频| 日韩精品中文字幕一区三区| 亚洲人成色在线观看| 欧美精品H在线播放| 在线精品自拍| www.91在线播放| 婷婷午夜天| 国产成人久久综合777777麻豆| 亚洲精品国偷自产在线91正片| 国产黑丝视频在线观看| 波多野结衣亚洲一区| 久久青草免费91线频观看不卡| 国产成人AV综合久久| 91视频精品| 亚洲二区视频| 精品无码人妻一区二区| 国产在线精彩视频二区| 日本精品中文字幕在线不卡| 欧美在线视频不卡| 久久久久免费精品国产| 久久这里只精品热免费99| 狠狠色丁婷婷综合久久| 伊人久久福利中文字幕| 国产素人在线| 国产精品久久久久久久久kt| 天天激情综合| 最新亚洲av女人的天堂| 99热国产这里只有精品9九| 麻豆精品视频在线原创| 国产乱子伦精品视频| 乱人伦视频中文字幕在线| 久久久波多野结衣av一区二区| 久久成人国产精品免费软件| 亚洲AV成人一区二区三区AV| 美女国产在线| 国产91丝袜在线播放动漫 | 久久亚洲综合伊人| 亚洲福利一区二区三区| 九九九国产| 久久亚洲中文字幕精品一区| 久久无码免费束人妻| 亚洲av无码片一区二区三区| 国产丝袜91| 国产精品成人免费视频99| 青青青国产免费线在| 中文字幕伦视频| 国产在线八区| 欧美在线视频不卡| 九九热精品视频在线| 午夜福利无码一区二区| 无码精品福利一区二区三区| 一级毛片免费的| 日日碰狠狠添天天爽| 自偷自拍三级全三级视频| 亚洲日本一本dvd高清| 91精品啪在线观看国产| аⅴ资源中文在线天堂| 欧美日韩北条麻妃一区二区| 91在线视频福利| 免费在线成人网| 欧美日韩va| 日本不卡视频在线| 国产一区在线视频观看| 久久久久久国产精品mv| 少妇极品熟妇人妻专区视频| 噜噜噜久久| 亚洲欧美成aⅴ人在线观看| 亚洲最大福利视频网| 日本爱爱精品一区二区| 国产精品3p视频| 波多野结衣无码中文字幕在线观看一区二区 | 亚洲码一区二区三区| 77777亚洲午夜久久多人|