目錄
前言
在啓動Tomcat時,發現控制檯輸出“中文亂碼”,作爲一個強迫症患者,這種情況自然是不能忍,下面把折騰過程記錄下來。
注:最終沒有成功解決問題,有哪位大俠解決了的,希望告知一下方法,謝謝。
1.修改conf文件夾下server.xml文件
首先在【Tomcat安裝目錄/conf】目錄下找到該文件
然後使用notepad打開,並搜索【<Connector port="8080"】字段,找到未註釋的Connector
然後在最後添加【URIEncoding="UTF-8"】,如下圖所示。
修改後代碼如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
爲了保持本電腦中Tomcat7,8,9版本的一致性,在各個版本中都做了上述修改;然而,並沒有解決控制檯中文亂碼問題。
2.修改bin文件夾下catalina.bat文件
首先在【Tomcat安裝目錄/bin】目錄下找到該文件
使用notepad打開,並搜索【JAVA_OPTS=】字段,找到下圖位置。
在該行最後添加【-Dfile.encoding=UTF-8】,如下圖所示
修改代碼如下:
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"
然而,經過上述修改,依舊沒有解決問題。。。
3.修改IDEA編碼方式
打開IDEA,File->Setting,然後在搜索框中查找【File Encoding】,如下圖:
將原來的GBK編碼全部修改成UTF-8編碼。
結果還是沒起作用。
4.修改註冊表屬性
根據參考資料[1]所述:windows默認編碼集爲GBK,由於使用startup.bat啓動tomcat時,它會讀取catalina.bat的代碼並打開一個新窗口運行。打開的cmd默認編碼可能不是utf-8,與系統編碼不一致,所以導致亂碼。
本人查看了一下Tomcat控制檯的屬性,確實默認的是GBK編碼。
非常不情願得選擇了修改註冊表,通過快捷鍵win+R,然後輸入【regedit】,打開註冊表編輯器。
按順序依次尋找【HKEY_CURRENT_USER→Console→Tomcat】,然後在本電腦中,Console下面沒有Tomcat,因此本人選擇了第一項【%SystemRoot%_system32_cmd.exe】進行修改。
打開對應的CodePage,原先是十六進制的3a8。
修改爲十進制的65001,如下圖:
好像還是不行,重啓一下電腦看看。還是不得行。。。放棄了,先用着吧,可能是因爲註冊表沒找到對應的Tomcat選項,把註冊表改回來先,防止以後出問題。