tomcat8.5 啓動控制檯日誌亂碼

使用IDEA在本地啓動tomcat進行調試時,發現日誌/頁面會出現亂碼的狀況,經過如下方式解決問題。java

如下操做所有在Windows10系統中。web

  • 直接啓動tomcat會出現控制檯漢字亂碼的問題。

這是由於 tomcat啓動默認編碼 UTF-8,windows系統默認編碼市 GBK,因此最簡單的方式就是將tomcat的默認編碼改成GBK便可。apache

找到tomcat目錄下的 conf/logging.properties 文件,將以下配置修改成GBKwindows

java.util.logging.ConsoleHandler.encoding = GBK
  •  Catalina.log 和localhost.log出現亂碼狀況,能夠嘗試如下修改
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK
 
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK
 
3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.encoding = GBK
 
4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.encoding = GBK
 
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK
  •   訪問頁面亂碼

嘗試conf/server.xml,在Connector標籤中加入 URIEncoding = "UTF-8" ,無效tomcat

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

修改bin/catalina.bat,可能會致使 tomcat啓動異常 ,無效編碼

set 「JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding=UTF-8

最後,修改  conf/web.xml  問題解決spa

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>fileEncoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
相關文章
相關標籤/搜索