一、頁面輸出亂碼
有三種可能
1.server.xml配置未注明編碼格式
瀏覽器本身有自己的顯示編碼格式踊赠,tomcat的輸出也有自己的格式,甚至我們在編寫代碼的過程中也可以指定輸出的編碼格式。所以這類原因?qū)е碌膩y碼鹅髓,需要我們保持各種編碼格式統(tǒng)一:
a.在tomcat中將server.xml 的我們所用的端口的配置添加URIEncoding="UTF-8"
b.在html的<html></html>標(biāo)簽內(nèi)加上meta標(biāo)簽
c.最好在編程中輸出頁面的時候指定編碼為UTF-8
2.catalina.bat的配置問題
在\tomcat\bin\catalina.bat這個配置文件中加上
set JAVA_OPTS=-Dfile.encoding=UTF-8
3.用編譯工具,在IDEA編譯器中的VM options:設(shè)置-Dfile.encoding=UTF-8京景,或eclipse 的設(shè)置中改成utf-8 輸出的問題可以解決
二.控制臺輸出亂碼
這個問題的原因是windows默認(rèn)編碼集為GBK窿冯,由于使用startup.bat啟動tomcat時,它會讀取catalina.bat的代碼并打開一個新窗口運行确徙。打開的cmd默認(rèn)編碼可能不是utf-8醒串,與系統(tǒng)編碼不一致,所以導(dǎo)致亂碼鄙皇。所以tomcat的命令框和輸出日志都是亂碼
解決的辦法有兩個:
1.修改cmd命令行的編碼
a.打開注冊表芜赌,找到HKEY_CURRENT_USER→Console→Tomcat
b.找到CodePage項,沒有則創(chuàng)建伴逸,更改值為十進(jìn)制的65001
2.修改logging.properties配置
a.打開tomcat/conf/logging.properties
b.添加語句:
java.util.logging.ConsoleHandler.encoding = GBK
c.重啟tomcat缠沈,查看日志數(shù)據(jù)即可