【JavaWeb】tomcat中文亂碼

目錄

前言

1.修改conf文件夾下server.xml文件

2.修改bin文件夾下catalina.bat文件

 3.修改IDEA編碼方式

 4.修改註冊表屬性

參考資料


前言

在啓動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選項,把註冊表改回來先,防止以後出問題。


參考資料

  1. Tomcat亂碼問題 catalina.bat設置爲UTF-8 控制檯出現亂碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章