JBOSS 點滴

          豐豐的博客

          用GET方法時出現(xiàn)亂碼的問題。URL傳中文出現(xiàn)亂碼時:。

          最近遇到一個問題:用get方法傳遞中文有問題,用post沒有問題。
          問題簡單的描述是這樣的:
          <a href="userGroup.jsp?userGroupName=<%=userGroupName%>">aa</a>
          這里userGroupName是中文

          在userGroup.jsp頁面得到的userGroupName卻是亂碼。
          每個頁面也都有<%@ page language="java" pageEncoding="GBK" %>說明。

          后來上網(wǎng)找了一下才知道:pageEncoding這個只對post起作用。get方法提交時,大家可以從地址欄里看到提交的參數(shù),這是因為get方法傳遞是作為報文頭提交的,而pageEncoding對報文頭是沒有作用的,所以仍然按照 iso8859-1編碼,才出現(xiàn)了剛才的亂碼問題。而post提交的是form表單的內(nèi)容,pageEncoding指定了它的編碼,所以他會按照指定編碼傳遞。

          問題清楚了,下面就來解決它:

          由于tomcat的servlet實現(xiàn)中ServletRequest.setCharacterEncoding方法未對HTP報文頭的內(nèi)容進行解碼,因此
          使用HTTP的GET方法提交的數(shù)據(jù)將不能正確的解碼.解決方案為修改其服務(wù)器的配置server.xml文件中對HTTP協(xié)議的
          Connector配置,加上URIEncoding="GBK"屬性,配置完成以后"可能"的內(nèi)容為
          < Connector port="8080"
          maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
          enableLookups="false" redirectPort="8443" acceptCount="100"
          debug="0" connectionTimeout="20000" 
          disableUploadTimeout="true" URIEncoding="GBK" /> 


          URL傳中文出現(xiàn)亂碼時:
          問題:
          如傳類似這樣的地址" index.jsp?ddurl="+"我們是";ddurl獲得的就是亂碼。
          解決辦法:這種傳值方式相當于get傳值,在傳值時對他加密:
          encodeURI(url);

          posted on 2013-10-17 11:47 半導(dǎo)體 閱讀(166) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 沁源县| 巩留县| 新晃| 南城县| 北宁市| 慈溪市| 五家渠市| 舟山市| 邵阳市| 岢岚县| 宜城市| 泸水县| 达拉特旗| 潮州市| 罗江县| 河池市| 丰都县| 开平市| 崇仁县| 香河县| 略阳县| 泾阳县| 原阳县| 兴和县| 勐海县| 祁门县| 读书| 清丰县| 积石山| 黄石市| 山丹县| 潮安县| 旬邑县| 朝阳区| 岳西县| 唐河县| 金堂县| 全州县| 郸城县| 泰安市| 高唐县|