1. 程式人生 > >tomcat下get方式提交請求亂碼解決辦法

tomcat下get方式提交請求亂碼解決辦法

最近在程式設計的時候,發現分別用get和post傳送中文資料,後者可以得到正確結果,

前者卻是亂碼。查了些資料,發現伺服器對post和get請求的資料的編碼處理是不一樣的

。現把tomcat下get和url直接傳送請求亂碼的解決辦法列舉如下:

方法1. 

String name = new String((request.getParameter("name")).getBytes("ISO-8859-

1"),"GBK") 

方法2.

1) 開啟tomcat的server.xml檔案,找到區塊,加入如下一行:

URIEncoding=”GBK”

完整的應如下:

<Connector 

port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

debug="0" connectionTimeout="20000" 

disableUploadTimeout="true" URIEncoding="GBK" />

或者

   將useBodyEncodingForURI引數設定為true,這個據說是可以,但我測試的時候沒有

成功,估計是哪一塊設定還有問題,好煩,算了,有一種方法能用就行了。

2)重啟tomcat,一切OK。

   另外,如果用url傳送請求,請求的資料中含有%號,resin得到的是亂碼,tomcat得

到的是空值,我的解決辦法是把%改成%25