1.嘗試過的全部方法: javascript
(1)在後臺代碼相應的地方加上ServletActionContext.getResponse().setCharacterEncoding("utf-8"); html
再改爲ServletActionContext.getResponse().setCharacterEncoding("gbk"); java
嘗試結果:均失敗! web
(2)查看html裏面的代碼:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 跨域
這個沒問題 瀏覽器
再查看頁面引用的js代碼<script src="js/class/class.js"></script>, 緩存
將其改爲 <script src="js/class/class.js" charset="utf-8"></script>, tomcat
嘗試結果:失敗! 服務器
(3)查看class.js裏面代碼:$.getJSON("js/class/datasrc_class.js", function(data) { app
感受可能和跨域問題有關係,因而又改這句代碼:
$.getJSON("http://localhost:808/zhaoyang/js/class/datasrc_class.js", function(data) {
嘗試結果:失敗!
(4)google + 百度,查到一個結果:設置tomcat配置文件,server.xml裏面:
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
裏面確實已經設置了Encoding,因而改爲gbk
嘗試結果:失敗!
(5)想起之前作過相似使用js裏面數據出現亂碼的狀況,好像是在web.xml中增長了一個配置信息,
貌似就是處理js文件的,因而,找到這塊代碼:
<mime-mapping>
<extension>js</extension>
<mime-type>text/javascript</mime-type>
</mime-mapping>
將其改爲:
<mime-mapping>
<extension>js</extension>
<mime-type>text/javascript;charset=gbk</mime-type>
</mime-mapping>
本認爲從新跑服務器,估計差很少了
嘗試結果:仍是失敗!
上述全部結果是:firefox亂碼、IE連亂碼都不顯示!
2.成功方法
其實上述第五種方法能夠成功的,只是我少作了一步:右擊server,clean一下,而後就是從新啓動瀏覽器,
以防萬一,能夠清除一下瀏覽器緩存