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

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

系統(tǒng) 2164 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ì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 浑源县| 合江县| 青龙| 玛曲县| 忻州市| 沽源县| 永川市| 海安县| 和龙市| 大埔区| 礼泉县| 黑龙江省| 时尚| 离岛区| 东阿县| 吴堡县| 左贡县| 安福县| 宽甸| 永丰县| 西乌珠穆沁旗| 瑞金市| 石嘴山市| 冷水江市| 揭阳市| 会同县| 麦盖提县| 成安县| 天镇县| 湖州市| 汝阳县| 磐安县| 拜城县| 万全县| 泗水县| 桃源县| 卫辉市| 彰武县| 岗巴县| 南川市| 沁水县|