修改Tomcat编码方式的两种方法
轉載自? ?修改Tomcat編碼方式的兩種方法
方法一:推薦,不會影響到其它項目?
見我的另一篇博客:http://www.cnblogs.com/x_wukong/p/3292664.html
修改方法:
修改tomcat下的conf/server.xml文件,找到Connector標簽,添加useBodyEncodingForURI="true",如下代碼:
<Connector port="8080" useBodyEncodingForURI="true" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443" />????對于?URL?提交的數據和表單中?GET?方式提交的數據,在接收數據的?JSP?中設置?request.setCharacterEncoding?參數是不行的,因為在?Tomcat5.0?中,默認情況下使用ISO-8859-1?對?URL?提交的數據和表單中?GET?方式提交的數據進行重新編碼(解碼),而不使用該參數對?URL?提交的數據和表單中?GET?方式提交的數據進行重新編碼(解碼)。
????要解決該問題,應該在?Tomcat?的配置文件的?Connector?標簽中設置useBodyEncodingForURI?或者?URIEncoding?屬性,其中?useBodyEncodingForURI?參數表示是否用?request.setCharacterEncoding?參數對?URL?提交的數據和表單中?GET?方式提交的數據進行重新編碼,在默認情況下,該參數為?false?(Tomcat4.0?中該參數默認為true?);????
????URIEncoding?參數指定對所有?GET?方式請求(包括?URL?提交的數據和表單中?GET?方式提交的數據)進行統一的重新編碼(解碼)的編碼。URIEncoding?和?useBodyEncodingForURI?區別是,URIEncoding?是對所有?GET?方式的請求的數據進行統一的重新編碼(解碼),而useBodyEncodingForURI?則是根據響應該請求的頁面的request.setCharacterEncoding?參數對數據進行的重新編碼(解碼),不同的頁面可以有不同的重新編碼(解碼)的編碼。所以對于?URL?提交的數據和表單中?GET?方式提交的數據,可以修改?URIEncoding?參數為瀏覽器編碼或者修改?useBodyEncodingForURI?為true?,并且在獲得數據的?JSP?頁面中?request.setCharacterEncoding參數設置成瀏覽器編碼。
?
方法二:不推薦,有可能影響其他應用
默認情況下,tomcat使用的是iso8859-1的編碼編碼方式,瀏覽器的embed標簽中src指向的地址要通過tomcat去解析。如果包含中文,采用這種編碼方式就會出現亂碼問題,而在這種情況下,亂碼問題就表現出無法訪問該音頻文件了。
解決方法很簡單:
修改tomcat下的conf/server.xml文件,如下代碼:
總結
以上是生活随笔為你收集整理的修改Tomcat编码方式的两种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 起点读书“字在青年”高校作家选拔赛落幕:
- 下一篇: 加州大学伯克利分校投资 20 亿美元在硅