java提交亂碼解決方法:
站在用戶的角度思考問題,與客戶深入溝通,找到化州網(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).獲取獲取客戶端提交上來的數(shù)據(jù),得到的是亂碼字符串,data="???è?????"
String data = request.getParameter("paramName");
2).查找ISO8859-1碼表,得到客戶機(jī)提交的原始數(shù)據(jù)的字節(jié)數(shù)組
byte[] source = data.getBytes("ISO8859-1");
3).通過字節(jié)數(shù)組以指定的編碼構(gòu)建字符串,解決亂碼
data = new String(source, "UTF-8");
通過字節(jié)數(shù)組以指定的編碼構(gòu)建字符串,這里指定的編碼是根據(jù)客戶端那邊提交數(shù)據(jù)時(shí)使用的字符編碼來定的,如果是GB2312,那么就設(shè)置成data = new String(source, "GB2312"),如果是UTF-8,那么就設(shè)置成data = new String(source, "UTF-8")
3、客戶端想傳輸數(shù)據(jù)到服務(wù)器,可以通過表單提交的形式,也可以通過超鏈接后面加參數(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)生中文亂碼問題,而解決中文亂碼問題的方式與上述的以get方式提交表單中文數(shù)據(jù)亂碼處理問題的方式一致,如下所示:
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提交亂碼問題-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://aaarwkj.com/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í)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容