平時在使用tomcat作一些服務的時候常常遇到各類亂碼問題,要麼是控制檯輸出亂碼或者輸出日誌亂碼,要麼頁面接收亂碼,很是煩人。引發亂碼的緣由多個,從網上學習了不少,如今嘗試簡單總結給你們分享html
1、頁面輸出亂碼java
有三種可能編程
1.server.xml配置未註明編碼格式windows
瀏覽器自己有本身的顯示編碼格式,tomcat的輸出也有本身的格式,甚至咱們在編寫代碼的過程當中也能夠指定輸出的編碼格式。因此這類緣由致使的亂碼,須要咱們保持各類編碼格式統一:瀏覽器
a.在tomcat中將server.xml 的咱們所用的端口的配置添加URIEncoding="UTF-8"tomcat
b.在html的<html></html>標籤內加上meta標籤eclipse
c.最好在編程中輸出頁面的時候指定編碼爲UTF-8工具
2.catalina.bat的配置問題學習
在\tomcat\bin\catalina.bat這個配置文件中加上編碼
set JAVA_OPTS=-Dfile.encoding=UTF-8
3.用編譯工具,在IDEA編譯器中的VM options:設置-Dfile.encoding=UTF-8,或eclipse 的設置中改爲utf-8 輸出的問題能夠解決
二.控制檯輸出亂碼
這個問題的緣由是windows默認編碼集爲GBK,因爲使用startup.bat啓動tomcat時,它會讀取catalina.bat的代碼並打開一個新窗口運行。打開的cmd默認編碼可能不是utf-8,與系統編碼不一致,因此致使亂碼。因此tomcat的命令框和輸出日誌都是亂碼
解決的辦法有兩個:
1.修改cmd命令行的編碼
a.打開註冊表,找到HKEY_CURRENT_USER→Console→Tomcat
b.找到CodePage項,沒有則建立,更改值爲十進制的65001
2.修改logging.properties配置
a.打開tomcat/conf/logging.properties
b.添加語句:
java.util.logging.ConsoleHandler.encoding = GBK
c.重啓tomcat,查看日誌數據便可