日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Tomcat產(chǎn)生亂碼的解決方法

系統(tǒng) 2139 0

Tomcat在處理GET和POST請(qǐng)求時(shí)產(chǎn)生的亂碼解決的方法有兩個(gè):

  1. 將GET請(qǐng)求改成POST請(qǐng)求,然后就可以使用request.setCharacterEncoding方法設(shè)置編碼,并使用request.getParameter方法直接獲得中文請(qǐng)求參數(shù)了。
  2. 不用改GET請(qǐng)求,在Servlet中使用如下的代碼來(lái)得到中文請(qǐng)求參數(shù)。
  String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "GBK");
   綜上所述,如果使用了GET請(qǐng)求,則setCharacterEncoding方法不起作用,只能使用上面的代碼來(lái)解決,而使用POST請(qǐng)求,盡管 setCharacterEncoding方法起作用,但使用上面的代碼仍然好使(在這時(shí)不能使用setCharacterEncoding方法將編碼格 式設(shè)置成非iso-8859-1格式)。因此,如果想讓Servlet可以同時(shí)處理GET和POST請(qǐng)求中的中文信息,除了判斷這兩種方法外,還可以使用 上面的代碼來(lái)同時(shí)處理這兩種請(qǐng)求的中文信息。
  考試大建議使用如下的代碼來(lái)獲得中文請(qǐng)求參數(shù): BB霜的好處有哪些?
  String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "GBK");
  因?yàn)樯厦娴拇a是利用了Java的編碼能力,對(duì)于所有的Web服務(wù)器都會(huì)有效,而setCharacterEncoding方法是通過(guò)Web服務(wù)器支持的,并不是所有的Web服務(wù)器都會(huì)對(duì)該方法有很好的支持。?

request.setCharacterEncoding():是設(shè)置從request中取得的值或從數(shù)據(jù)庫(kù)中取出的值。
?? ?指定后可以通過(guò)getParameter()則直接獲得正確的字符串,如果不指定,則默認(rèn)使用iso8859-1編碼。值得注意的是在執(zhí)行 setCharacterEncoding()之前,不能執(zhí)行任何getParameter()。而且,該指定只對(duì)POST方法有效,對(duì)GET方法無(wú)效。 分析原因,應(yīng)該是在執(zhí)行第一個(gè)getParameter()的時(shí)候,java將會(huì)按照編碼分析所有的提交內(nèi)容,而后續(xù)的getParameter()不再 進(jìn)行分析,所以setCharacterEncoding()無(wú)效。而對(duì)于GET方法提交表單是,提交的內(nèi)容在URL中,一開(kāi)始就已經(jīng)按照編碼分析提交內(nèi) 容,setCharacterEncoding()自然就無(wú)效。
get需在Tomcat的server.xml中的:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"
URIEncoding="GBK" />
)加入U(xiǎn)RIEncoding="GBK",解決get請(qǐng)求亂碼問(wèn)題
?? ?response.setContentType("text/html;charset=gb2312")是設(shè)置頁(yè)面中為中文編碼。
?? ?前者是設(shè)置動(dòng)態(tài)文字(參數(shù),數(shù)據(jù)庫(kù)),后者設(shè)置頁(yè)面靜態(tài)文字 有什么美白的簡(jiǎn)單面膜嗎?
response.setContentType指定 HTTP 響應(yīng)的編碼,同時(shí)指定了瀏覽器顯示的編碼.?
response.setCharacterEncoding設(shè)置HTTP 響應(yīng)的編碼,如果之前使用response.setContentType設(shè)置了編碼格式,則使用 response.setCharacterEncoding指定的編碼格式覆蓋之前的設(shè)置.與response.setContentType相同的 是,調(diào)用此方法,必須在getWriter執(zhí)行之前或者response被提交之前.

Tomcat產(chǎn)生亂碼的解決方法


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。。?/p>

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 孟津县| 田阳县| 酉阳| 广元市| 平原县| 米泉市| 阿荣旗| 马公市| 无棣县| 三江| 博白县| 闵行区| 龙州县| 高唐县| 太保市| 贺州市| 三亚市| 张掖市| 青冈县| 乐都县| 两当县| 台东市| 山丹县| 张掖市| 比如县| 西乡县| 永登县| 南华县| 安塞县| 宁南县| 安岳县| 天峨县| 杭锦后旗| 嘉祥县| 抚州市| 大同县| 炉霍县| 许昌市| 延长县| 上虞市| 枞阳县|