java使用post請(qǐng)求時(shí)出現(xiàn)亂碼怎么解決?針對(duì)這個(gè)問(wèn)題,這篇文章給出了相對(duì)應(yīng)的分析和解答,希望能幫助更多想解決這個(gè)問(wèn)題的朋友找到更加簡(jiǎn)單易行的辦法。
Java WEB項(xiàng)目中,中文亂碼是一個(gè)經(jīng)常遇到而又非常頭痛的問(wèn)題,其中最容易出現(xiàn)亂碼的環(huán)節(jié)就是在瀏覽器向服務(wù)器發(fā)送請(qǐng)求的過(guò)程。下邊就這一問(wèn)題介紹解決方法,希望會(huì)幫助到大家。以下轉(zhuǎn)碼都是以UTF-8為參考,若為其他編碼格式可自行修改。
一、Response亂碼
(1)設(shè)置服務(wù)器端的編碼:response.setCharacterEncoding("UTF-8");
上邊此設(shè)置一定要再response.getWriter()方法之前;
(2)通知瀏覽器發(fā)送的數(shù)據(jù)格式:response.setContentType("text/html;charset=UTF-8");
(3)瀏覽器使用UTF-8進(jìn)行解碼。
二、Request亂碼
1.Post方式提交,參數(shù)存在于請(qǐng)求體中,只需要進(jìn)行此設(shè)置即可:
request.setCharacterEncoding("UTF-8");
2.Get方式提交,參數(shù)會(huì)拼接在URI地址后邊,服務(wù)器默認(rèn)按照iso8859-1進(jìn)行解碼,有兩種解決方法:
(1).在程序中修改接收到的請(qǐng)求編碼(此方法每次請(qǐng)求都需要轉(zhuǎn)碼,不推薦)
String str = request.getParameter("s"); str = new String(str.getBytes("iso8859-1"),"UTF-8")
(2)在Tomcat安裝文件夾中找到server.xml文件,查找
只需在此標(biāo)簽中增加 URIEncoding="UTF-8" ,然后重啟tomcat即可。
關(guān)于java使用post請(qǐng)求時(shí)出現(xiàn)亂碼怎么解決就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。