jsp傳遞中文亂碼解決方法

          request.setCharacterEncoding("UTF-8")頁(yè)面也需要設(shè)置轉(zhuǎn)碼的:
          頁(yè)面:(.jsp)
          <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
          response.setContentType("text/html;charset=UTF-8");

          處理文件:(.java)
          轉(zhuǎn)碼的三種方法:
          A 接受參數(shù)時(shí)進(jìn)行編碼轉(zhuǎn)換

          String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8"); 這樣的話(huà),每一個(gè)參數(shù)都必須這樣進(jìn)行轉(zhuǎn)碼。很麻煩。但確實(shí)可以拿到漢字。

          B 在請(qǐng)求頁(yè)面上開(kāi)始處,執(zhí)行請(qǐng)求的編碼代碼, request.setCharacterEncoding("UTF-8"),把提交內(nèi)容的字符集設(shè)為UTF-8。這樣的話(huà),接受此參數(shù)的頁(yè)面就不必在轉(zhuǎn)碼了。直接使用
          String str = request.getParameter("something");即可得到漢字參數(shù)。但每頁(yè)都需要執(zhí)行這句話(huà)。

          這個(gè)方法也就對(duì)post提交的有效果,對(duì)于get提交和上傳文件時(shí)的enctype="multipart/form-data"是無(wú)效的。稍后下面單獨(dú)對(duì)這個(gè)兩個(gè)的亂碼情況再進(jìn)行說(shuō)明。

          C 為了避免每頁(yè)都要寫(xiě)request.setCharacterEncoding("UTF-8"),建議使用過(guò)濾器對(duì)所有jsp進(jìn)行編碼處理。

          新手可以暫時(shí)不考慮過(guò)濾器的方法,過(guò)濾器一般都會(huì)涉及到配置開(kāi)發(fā),要修改web.xml,還算是比較麻煩的,建議接觸java一段時(shí)間后再考慮使用過(guò)濾器的方法。或者如果應(yīng)用了struts框架,可以查看struts的轉(zhuǎn)碼過(guò)濾器配置。
          實(shí)際例子:
          <%request.setCharacterEncoding("UTF-8")%>放在jsp<head></head>之間
          jspforward.jsp
          <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <% request.setCharacterEncoding("UTF-8");%> </head> <body> <jsp:forward page="/forwardresult.jsp"> <jsp:param name="name" value="李海"></jsp:param> <jsp:param name="age" value="29"></jsp:param> </jsp:forward> </body> </html>
          jspresult.jsp
          <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <%=request.getParameter("name")%> <%=request.getParameter("age")%> </body> </html>


          posted on 2017-06-19 14:46 藍(lán)胖 閱讀(327) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2017年6月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 竹山县| 馆陶县| 长汀县| 台北县| 墨脱县| 鸡西市| 奉节县| 大兴区| 镇江市| 达日县| 正蓝旗| 新昌县| 南召县| 上思县| 临高县| 兖州市| 施秉县| 剑河县| 江陵县| 交口县| 乌恰县| 都江堰市| 犍为县| 新野县| 高邑县| 隆回县| 绥化市| 思茅市| 新泰市| 拉萨市| 女性| 琼海市| 葵青区| 安福县| 丰宁| 淮北市| 宁德市| 南漳县| 鹤山市| 大关县| 丘北县|