一文告訴你如何解決Tomcat亂碼問題(很詳細!)

一、問題提出

相信很多初始Tomcat的小夥伴都會遇到下面的情況,啟動Tomcat是一大堆看不懂的文字,比如。。。

相信很多有強迫癥的同學,看到這些很不爽,我也是,接下來我就來說一下解決方案。

二、亂碼原因

產生亂碼的根本原因就是編碼和解碼不一致,舉個例子就是翻譯的人與寫文章的人用的不同的語言,我本來寫的是中文拼音,結果你去用英語翻譯,肯定翻譯出來的東西看不懂。
比較常見的編碼格式有Unicode、Ascll碼、GBK、UTF-8等等,我們普遍用的都是UTF-8等等。

三、徹底解決亂碼問題

1、打開tomcat的/conf/server.xml,給它顯示的增加編碼方式

    <Connector connectionTimeout="20000" 
				port="8080" protocol="HTTP/1.1" 
				redirectPort="8443" URIEncoding="UTF-8"/>

2、將日志的編碼格式也修改一下,打開tomcat的\conf\logging.properties。

這裡我簡單描述一下UTF-8和GBK的關系,其實GBK編碼才是指中國的中文字符,並且包含瞭簡體中文和繁體中文;UTF-8比較強大,是全國傢通用的一種編碼,如果涉及多個國傢語言,那麼就建議使用UTF-8,所以他們按道理是可以通用的。

3、其實以上這兩步我的問題已經解決瞭,但是我在看別人也提供瞭其他的方法,如下

打開tomcat下\bin\catalina.bat文件下增加

set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8

這一句我在Linux下見到過,到底是啥意思我現在還不太明白,還需要繼續研究一下。

補充:tomcat窗口中文亂碼

亂碼原因分析,是因為tomcat的編碼與Windows的編碼不一致造成的

針對Windows平臺下,點擊運行–輸入cmd,enter鍵進入命令窗口,輸入:chcp
可以得到操作系統的代碼頁信息(代碼頁:字符集編碼的別名),可以從控制面板的語言選項中查看代碼頁對應的詳細的字符集信息。如圖所示:我系統的活動代碼頁為:936,它對應的編碼格式為GB2312。

把tomcat的編碼修改和系統一致就解決亂碼問題,方法入戲:

1、找到apache-tomcat-7.0.92/conf/logging.properties

2、添加語句:java.util.logging.ConsoleHandler.encoding = GBK

總結

經過上面幾種方法的使用,肯定能解決大傢的亂碼問題,記錄一下自己不會的東西,學無止境。還需要學習更多的知識,希望我的方法能解決和我遇到一樣的問題的小夥伴。

到此這篇關於如何解決Tomcat亂碼問題的文章就介紹到這瞭,更多相關解決Tomcat亂碼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: