轉自: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", 如下代碼:
<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文件,如下代碼:
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" />
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
