使用get方法提交form表單時出現亂碼解決方法

使用get方法提交form表單時出現亂碼解決方法

tomcat5.x上用get方式提交的中文是亂碼
在tomcat5上,用form提交了,中文的內容是亂碼,而在4.x上沒有這個問題,真是讓人困擾,後來終於發現,原來區別在於5.x的form如果設 置method爲post就ok,用get就是亂碼;而在4.x用哪種都沒有問題。如果是用get的情況下,網上說這樣解決:
修改${Tomcat_home}/conf/server.xml:
<!--
URIEncoding="GBK":Force GET method String(Chinese) can be transferd properly by http:uri      note:Tomcat only support GBK specification,so not set charset gb2312   
-->   
<Connector URIEncoding="GBK" port="80" redirectPort="8443" maxSpareThreads="75"   maxThreads="150" minSpareThreads="25">   </Connector>  
我還是將form的method設置爲post了。
但是還有一個問題,用get的方式就是有問題的啊,比如<a href=”test.jsp&param1=中文”>
這個地方無論是否使用URLEncoding,test.jsp中還是會是亂碼,真是噁心得很。
後來看到了
http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042&sty=1&tpg=1&age=0
這個帖子,在server.xml中加入了:
     <Connector
port="80"                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="8443" acceptCount="100"
                debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8" />
才把問題解決了,我的應用用的utf-8的編碼,如果我要用GBK,是不是這個配置還要改,真是他媽噁心。
後來又看到更好的一個解決辦法,也就是不用這個參數,而是用
useBodyEncodingForURI="true",這樣一來,應用無論用什麼編碼方式,都不需要該tomcat的任何配置了。

 

因爲很久沒有出現亂碼問題了,今天突然又出現了,給搞得措手不久, 我用的是springMVC,在web.xml文件中已經設置了編碼過濾器,應該是每個action都應該經過這個過濾器的,但是,有一個action在 取從頁面裏傳過來的參數時總是出現亂碼,後來才發現,因爲需要,我沒有在jsp頁面上用form形式提交,而是用javascirpt進行提交,就像下面 一樣

window.location=$F('ctx')+"/urlAddAction.do?urlName="+urlName+"&image="+image+"&content="+content+"&cityId="+cityId;

而這種形式就是像用get方面了,在url裏包含了中文參數,這個那個配置的過濾器就不起作用了,後來上網查了一下,在tomcat服務器下的conf/server.xml中要修改一下,就是在

content="text/html; charset=utf-8",則在tomcat/conf/server.xml中的配置文件中:
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"
disableUploadTimeout="true" />

加上:useBodyEncodingForURI="true"即可正常使用getParameter取出正確內容.

發佈了8 篇原創文章 · 獲贊 3 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章