如何解決java提交亂碼問(wèn)題-創(chuàng)新互聯(lián)

java提交亂碼解決方法:

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到化州網(wǎng)站設(shè)計(jì)與化州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋化州地區(qū)。

1、如果提交方式為post,想不亂碼,只需要在服務(wù)器端設(shè)置request對(duì)象的編碼即可,客戶端以哪種編碼提交的,服務(wù)器端的request對(duì)象就以對(duì)應(yīng)的編碼接收,比如客戶端是以UTF-8編碼提交的,那么服務(wù)器端request對(duì)象就以UTF-8編碼接收(request.setCharacterEncoding("UTF-8"))

2、如果提交方式為get,設(shè)置request對(duì)象的編碼是無(wú)效的,request對(duì)象還是以默認(rèn)的ISO8859-1編碼接收數(shù)據(jù),因此要想不亂碼,只能在接收到數(shù)據(jù)后再手工轉(zhuǎn)換,步驟如下:

1).獲取獲取客戶端提交上來(lái)的數(shù)據(jù),得到的是亂碼字符串,data="???è?????"

String data = request.getParameter("paramName");

2).查找ISO8859-1碼表,得到客戶機(jī)提交的原始數(shù)據(jù)的字節(jié)數(shù)組

byte[] source = data.getBytes("ISO8859-1");

3).通過(guò)字節(jié)數(shù)組以指定的編碼構(gòu)建字符串,解決亂碼

data = new String(source, "UTF-8");

通過(guò)字節(jié)數(shù)組以指定的編碼構(gòu)建字符串,這里指定的編碼是根據(jù)客戶端那邊提交數(shù)據(jù)時(shí)使用的字符編碼來(lái)定的,如果是GB2312,那么就設(shè)置成data = new String(source, "GB2312"),如果是UTF-8,那么就設(shè)置成data = new String(source, "UTF-8")

3、客戶端想傳輸數(shù)據(jù)到服務(wù)器,可以通過(guò)表單提交的形式,也可以通過(guò)超鏈接后面加參數(shù)的形式,例如:

<a href="${pageContext.request.contextPath}/servlet/RequestDemo05?userName=gacl&name=房明">點(diǎn)擊</a>

點(diǎn)擊超鏈接,數(shù)據(jù)是以get的方式傳輸?shù)椒?wù)器的,所以接收中文數(shù)據(jù)時(shí)也會(huì)產(chǎn)生中文亂碼問(wèn)題,而解決中文亂碼問(wèn)題的方式與上述的以get方式提交表單中文數(shù)據(jù)亂碼處理問(wèn)題的方式一致,如下所示:

String name = request.getParameter("name");
name =new String(name.getBytes("ISO8859-1"), "UTF-8");

另外,需要提的一點(diǎn)就是URL地址后面如果跟了中文數(shù)據(jù),那么中文參數(shù)最好使用URL編碼進(jìn)行處理,如下所示:

<a href="${pageContext.request.contextPath}/servlet/RequestDemo05?userName=gacl&name=<%=URLEncoder.encode("房明", "UTF-8")%>">點(diǎn)擊</a>

以上就是java提交亂碼解決方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

當(dāng)前標(biāo)題:如何解決java提交亂碼問(wèn)題-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://muchs.cn/article34/dpjise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站制作、Google、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)