tomcat 控制台亂碼問題


            環境:win7 + tomcat 8.5

            問題描述:web端一切正常,不管是返回頁面的數據還是控制台打印的日志,都沒亂碼,給app提供的api接口返回亂碼,然后就去百度,像什么 在tomcat的service.xml中修改編碼的,那種可以直接忽略了

從來沒有靈驗了,然后就是修改catalina.bat 這個文件,加入utf8的編碼(可自行百度),然后返回給api接口的數據不亂碼了,但是tomcat控制台開始亂碼,於是乎,又百度,然后分為兩種解決辦法:第一種是

如果用的eclipse或者ide這種開發工具,可通過設置 一直有 VM Options 這個屬性,加入 -Dfile.encoding=UTF-8 進行解決,可百度的到,然后我的並么有解決,而且這種只是通過開發工具啟動tomcat有用,第二種通過修改系統的utf編碼;

2019年3月21日12:01:07 更新

           亂碼究其原因是編碼問題,下面將win10下  解壓版的tomcat8.5 的亂碼問題解決方法列出來。

          1  bin目錄下的catalina.bat 文件,set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%" 改為 

           set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"

           2 conf目錄下的logging.properties的文件中,修改或加入

              java.util.logging.ConsoleHandler.encoding = UTF-8

           3 修改windows運行窗口的編碼為utf-8

             https://juejin.im/post/5bb23cc15188255c5121d499

至此,所有編碼都已經改為了utf-8,亂碼問題解決。

說一點:以上方法不適用所有的,具體要根據系統編碼進行改變。

tomcat conf/server.xml文件中的編碼,要使用urf-8,因為這個是用來和前台頁面傳至交互的接口。

catalina.bat是tomcat窗口,輸出程序日志的編碼

loggin文件中的編碼,是tomcat本身的日志信息編碼,比如tomcat的啟動信息。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM