談談tomcat引起的中文亂碼問題

2021-12-28 搜狗測試

       平時在使用tomcat做一些服務的時候經常遇到各種亂碼問題,要麼是控制臺輸出亂碼或者輸出日誌亂碼,要麼頁面接收亂碼,非常煩人。引起亂碼的原因多個,從網上學習了很多,現在嘗試簡單總結給大家分享

一、頁面輸出亂碼

       有三種可能

1.server.xml配置未註明編碼格式

       瀏覽器本身有自己的顯示編碼格式,tomcat的輸出也有自己的格式,甚至我們在編寫代碼的過程中也可以指定輸出的編碼格式。所以這類原因導致的亂碼,需要我們保持各種編碼格式統一:

a.在tomcat中將server.xml 的我們所用的埠的配置添加URIEncoding="UTF-8"

b.在html的<html></html>標籤內加上meta標籤

c.最好在編程中輸出頁面的時候指定編碼為UTF-8

2.catalina.bat的配置問題

在\tomcat\bin\catalina.bat這個配置文件中加上

set JAVA_OPTS=-Dfile.encoding=UTF-8

3.用編譯工具,在IDEA編譯器中的VM options:設置-Dfile.encoding=UTF-8,或eclipse 的設置中改成utf-8 輸出的問題可以解決

二.控制臺輸出亂碼

       這個問題的原因是windows默認編碼集為GBK,由於使用startup.bat啟動tomcat時,它會讀取catalina.bat的代碼並打開一個新窗口運行。打開的cmd默認編碼可能不是utf-8,與系統編碼不一致,所以導致亂碼。所以tomcat的命令框和輸出日誌都是亂碼

解決的辦法有兩個:

1.修改cmd命令行的編碼

a.打開註冊表,找到HKEY_CURRENT_USER→Console→Tomcat

b.找到CodePage項,沒有則創建,更改值為十進位的65001

2.修改logging.properties配置

a.打開tomcat/conf/logging.properties

b.添加語句:

java.util.logging.ConsoleHandler.encoding= GBK 

c.重啟tomcat,查看日誌數據即可

希望分享對大家有用,晚安!

相關焦點

  • 如何解決Matlab的中文亂碼?
    在使用Matlab時,雖然不能用中文來進行編程,但卻可以使用中文進行注釋,儘管不推薦這樣做(某些場合英文更易於傳播),但如果以前編寫的或別人編寫的代碼注釋中包含很多中文,而自己的電腦又恰恰是英文的Windows系統,那麼將很可能會出現如下亂碼的情況,這會給對代碼的理解帶來很多麻煩甚至困難。
  • 中文字幕 亂碼 中文亂碼:富時羅素:螞蟻H股在富時羅素新興市場指數...
    中文字幕 亂碼 中文亂碼:富時羅素:螞蟻H股在富時羅素新興市場指數中佔比有望達0.2762% 2021年01月17日 來源:中文字幕 亂碼 中文亂碼
  • docker安裝Nginx和Tomcat
    docker run -it --rm tomcat:9.0#--rm 這裡代表的意思是用完即刪除 這裡刪除的是容器,但是鏡像還在# tomcat:9.0指定tomcat9.0的版本 不加就直接使用最新的tomcat
  • Content-Disposition 亂碼問題記錄
    開工後一切順利,到保存文件這一步卡殼了,為什麼下載的文件是亂碼?效果如下:而自己手動通過瀏覽器下載的文件名卻是:1123三年級【語文(統編版)】語文園地六-3學習任務單.docx。剛開始以為是 Docker 內字符編碼的問題,因為隨便百度一下,都能看到很多反映容器環境下的應用輸出中文日誌亂碼的問題。但是,通過在容器內創建中文名稱的文件,以及 curl 命令請求文件header的方式,都驗證出官方提供的 Python3.6 鏡像實際上是支持中文的。
  • 淺入深出:一次提問引發的深思,從此再也不怕「亂碼」問題
    (點擊上方公眾號,可快速關注一起學Python)來自:戀習Python  連結:https://mp.weixin.qq.com/s/wv0nWKPNQhyqmYCamEdNGQ近日,有位粉絲向我請教,在爬取某網站時,網頁的原始碼出現了中文亂碼問題
  • 從本質上搞懂頭痛的亂碼問題!
    當遇到紛繁複雜的字符集,各種火星文和亂碼時,問題的定位往往變得非常困難。本文將會從原理方面對字符集和編碼做個簡單的科普介紹,同時也會介紹一些通用的亂碼故障定位方法以方便讀者以後能夠更從容的定位相關問題。在介紹字符集之前,先了解下為什麼要有字符集。我們在計算機屏幕上看到的是實體化的文字,而在計算機存儲介質中存放的實際是二進位的比特流。
  • 《王國風雲3》字體亂碼怎麼辦 字體亂碼解決辦法
    遊戲中不少玩家遇到了字體亂碼的情況不知道怎麼處理,這裡將為大家分享的是十字軍之王3字體亂碼解決方法介紹,供大家參考,希望對大家有所幫助。 十字軍之王3字體亂碼解決方法介... 王國風雲3字體亂碼怎麼辦?
  • CSV文件在Excel中打開後亂碼問題的兩種處理方法
    前言    前幾天有個叫【RSL】的粉絲在Python交流群裡問了一道關於CSV文件在Excel中打開後亂碼的問題
  • 以tomcat為例
    4:啟動一個鏡像$ mkdir -p /usr/local/docker/tomcat/logs /usr/local/docker/tomcat/webapps$ docker run -d -p8080:8080 -name tomcat8 \ -v /usr/local/docker/tomcat/logs:/usr/local/tomcat/logs \ -v /usr/local/docker/tomcat/webapps:/usr/local/tomcat/webapps \ tomcat:8.5-d 後臺運行
  • 淺入深出 | 網站爬取時出現亂碼該怎麼辦
    作者:丁彥軍本文轉自公眾號:戀習Python(ID:sldata2017)近日,有位粉絲向我請教,在爬取某網站時,網頁的原始碼出現了中文亂碼問題。之前關於爬蟲亂碼有很多粉絲的各式各樣的問題,今天與大家一起總結下關於網絡爬蟲的亂碼處理。注意,這裡不僅是中文亂碼,還包括一些如日文、韓文 、俄文、藏文之類的亂碼處理,因為他們的解決方式 是一致的,故在此統一說明。一、亂碼問題的出現就以爬取51job網站舉例,講講為何會出現「亂碼」問題,如何解決它以及其背後的機制。
  • 【Oracle字符集】亂碼的產生原理
    編輯手記:很多人在資料庫各種操作中遭遇過亂碼的問題,今天我們分析一下亂碼產生的原因
  • 【亂碼直播】原來蔡依林的男友這麼長
    但是有個問題困擾了我很多年,錦榮身高188,官方顯示156的Jolin真的會和他差這麼多??(圖為狗仔偷拍)平面拍攝完畢,接下來就進入了第二part:《不裝》節目錄製 由於錦榮的中文不好,我們把所有臺詞都寫成了拼音,還請了一位英文翻譯。
  • iPhone郵件亂碼怎麼辦_iPhone郵件亂碼解決教程
    iPhone郵件亂碼怎麼辦_iPhone郵件亂碼解決教程 2014-07-31 10:24 | 作者:SORA | 來源:265G QQ群號:624022706 | 我要分享:
  • 總結,四個常見html網頁亂碼問題及解決辦法
    1、HTML的字符編碼問題在網頁頭部中加上下面內容:<meta http-equiv="Content-Type" Content="text/html;charset=utf8"/>2、PHP的字符編碼問題在php文件頂部加上下面代碼:header(「Content-type:text/html;charset=utf8」);
  • 日文遊戲亂碼怎麼辦 亂碼轉換工具下載及使用
    ,那麼遇到這種日文遊戲亂碼情況該怎麼辦呢,這裡我們需要一個亂碼轉換工具,此類軟體有不少,比如applocale亂碼轉換工具,NTLEA等。這裡巴士小編給大家推薦一款名為Locale Emulator的亂碼轉換工具,並附上下載和使用說明。
  • 請不要把閩南語寫成亂碼
    廣東人拿亂碼一樣的字符,書寫其粵語,我也很不能接受。你們的願景,是像朝鮮人改用諺文,日本人改用假名嗎?」  漢字是表意文字,不管各地的方言怎樣千差萬別,用文言文寫出來終歸是一樣的,用白話寫出來也應該大致是一樣的,讓普天下的中國人看得懂的。中國的漢字,正因為她重在表意而非表音,各地的中國人儘管說著各自的方言,卻讀著寫著同樣的文字,這才維護了中華民族的團結和統一。
  • 我都服了,為啥上遊接口返回的漢字總是亂碼?
    特別是,有時候和上下遊對接接口,不能統一編碼格式的話,一堆亂碼問題,讓人頭皮發麻。那麼為什麼會有這麼多的亂碼問題?什麼是字符編碼?什麼是字符集?他們之間有什麼區別和聯繫?什麼是 Unicode ?Unicode 和我們常說的 UTF-8 又有什麼關係?
  • 【亂碼變型記】亂碼大胸女編輯七月の神秘改造
    前情提要如你所知,我大亂碼妹子不少,But想找一個需要改造的妹子難。亂碼巫妖王,史上最汙女編輯,老讀者們應該都認識。 【亂碼變型記】第三期女主角@七月來了!破洞的牛仔褲並不能為她帶來不羈的感覺,工地生活不易,進亂碼討杯水喝。  七月的愛好是喝喝喝,根本不用勸酒。每次直播喝酒都少不了她——
  • 【亂碼問答】敢給你的開房對象看你的證件照麼
    【亂碼點評】人們常說的短髮美女,我猜就是第二張照片中的你的模樣吧。【亂碼點評】我只有一個問題:拍證件照可以不看鏡頭了?「我發誓我真沒整。」【亂碼點評】看你近照……我猜可能就20歲吧。那麼問題來了:左邊這位大姐貴庚?「我覺得沒有太大差別啊啊哈哈哈哈哈哈哈。」
  • CAD圖形文字亂碼處理技巧
    這主要是因為CAD圖形的文字字體發生變化引起的,即當前所使用的CAD版本軟體缺少圖形原使用字體文件,如下圖所示。遇到這種情況,別方,小編教你怎麼解決,只需四個步驟即可。方法:選中其中的亂碼文字「???」