tomcat编码配置gbk_修改Tomcat编码方式的两种方法
轉自:http://blog.sina.com.cn/s/blog_7c76d63901018lyt.html
方法一:推薦,不會影響到其它項目
見我的另一篇博客:http://www.cnblogs.com/x_wukong/p/3292664.html
修改方法:
修改tomcat下的conf/server.xml文件,找到Connector標簽,添加useBodyEncodingForURI="true",如下代碼:
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文件,如下代碼:
connectionTimeout="20000"
redirectPort="8443" />
這段代碼規定了Tomcat監聽HTTP請求的端口號等信息。可以在這里添加一個屬性:URIEncoding,將該屬性值設置為UTF-8,即可讓Tomcat(默認ISO-8859-1編碼)以UTF-8的編碼處理get請求。更改后的代碼如下所示:
URIEncoding="UTF-8"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
總結
以上是生活随笔為你收集整理的tomcat编码配置gbk_修改Tomcat编码方式的两种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(3050):vue+eleme
- 下一篇: GitHub 最受欢迎的Top 20 J