校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識(shí)庫 > 一次tomcat源碼啟動(dòng)控制臺(tái)中文亂碼的調(diào)試過程記錄

一次tomcat源碼啟動(dòng)控制臺(tái)中文亂碼的調(diào)試過程記錄

熱門標(biāo)簽:400電話辦理介紹信 福州企業(yè)電銷機(jī)器人排名 上海申請(qǐng)高400開頭的電話 麗江真人語音電話外呼系統(tǒng) 宿城區(qū)電話機(jī)器人找哪家 怎么找到?jīng)]有地圖標(biāo)注的店 打400電話怎么辦理收費(fèi) 10086外包用的什么外呼系統(tǒng) 河南防封號(hào)電銷機(jī)器人是什么

發(fā)現(xiàn)問題

今天準(zhǔn)備學(xué)習(xí)下tomcat源碼,于是從官網(wǎng)下載了tomcat的源碼,導(dǎo)入到IDEA中,使用maven工具build完項(xiàng)目之后,啟動(dòng)項(xiàng)目,控制臺(tái)打印了tomcat日志,但是中文都是亂碼。

一開始我懷疑是IDEA的問題,于是在網(wǎng)上找了各種解決辦法嘗試。大致有這幾種:

1、修改run/debug configurations,添加VM options參數(shù):-Dfile.encoding=utf-8;

2、修改run/debug configurations,添加Enviroment variables參數(shù):JAVA_TOOL_OPTIONS:-Dfile.encoding=utf-8和JAVA_OPTS:-Dfile.encoding=utf-8;

3、修改IDEA配置file encodings的3處編碼為UTF-8;

4、修改IDEA的Custom VM options,添加-Dfile.encoding=utf-8;

5、修改IDEA的安裝目錄bin下的idea.exe.vmoptions和idea64.exe.vmoptions文件,添加-Dfile.encoding=utf-8;

6、修改項(xiàng)目下的.idea文件夾下的encodings.xml文件,不是UTF-8的改為UTF-8;

7、修改tomcat的配置文件logging.properties,將里面的UTF-8改為GBK;

8、修改完刪除target文件夾重新編譯;

9、修改完重啟IDEA。

嘗試完所有方法后,控制臺(tái)日志亂碼問題并沒有解決,如圖:

仔細(xì)觀察后,發(fā)現(xiàn)日志左邊的日志等級(jí)”信息”和”嚴(yán)重”之類的中文亂碼解決了,但是日志中還有亂碼。

感覺應(yīng)該是代碼的問題,于是決定debugger代碼,先從日志的第一行開始。

17-Feb-2020 10:10:08.585 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.æœåŠ¡å™¨ç‰ˆæœ¬:     Apache Tomcat/@VERSION@

找到org.apache.catalina.startup.VersionLoggerListener類的log()方法,打斷點(diǎn)一步一步跟蹤

最終發(fā)現(xiàn)所有的值存在了PropertyResourceBundle類的lookup的map集合中,集合中的數(shù)據(jù)已經(jīng)亂碼了。

于是繼續(xù)debugger查看lookup的加載,通過源碼查看lookup集合中的數(shù)據(jù)是從properties文件中讀取出來的。查看該properties文件編碼也是UTF-8。于是繼續(xù)查看源碼。

ResourceBundle中的is = classLoader.getResourceAsStream(resourceName);加載的這個(gè)properties文件

再通過PropertyResourceBundle構(gòu)造方法加載的數(shù)據(jù)。

正準(zhǔn)備修改這塊代碼時(shí),發(fā)現(xiàn)這竟是JDK中的類,無法修改。(后來才知道ResourceBundle是用來做國(guó)際化的)。

后來查資料知道了:在java中, 讀取文件的默認(rèn)格式是iso8859-1, 而我們中文存儲(chǔ)的時(shí)候一般是UTF-8. 所以導(dǎo)致讀出來的是亂碼。

解決方案有兩種:

1、使用JDK下的工具native2ascii.exe將properties文件轉(zhuǎn)為Unicode編碼。轉(zhuǎn)換后如圖:

2、在代碼中獲取到了值之后手動(dòng)重新編碼解碼下

        try {

            value = new String(value.getBytes("ISO-8859-1"), "UTF-8");

        }catch(Exception e){

            e.printStackTrace();

        }

經(jīng)過測(cè)試,兩種方法都可以解決問題。

因?yàn)閠omcat中properties文件過多,我采用了第二種方法,修改了tomcat源碼,修改如下:

1)org.apache.tomcat.util.res.StringManager類中的getString(final String key, final Object... args)方法。

2)org.apache.jasper.compiler.Localizer類的getMessage(String errCode)方法

至此,亂碼問題解決

總結(jié)

到此這篇關(guān)于一次tomcat源碼啟動(dòng)控制臺(tái)中文亂碼調(diào)試過程記錄的文章就介紹到這了,更多相關(guān)tomcat源碼啟動(dòng)控制臺(tái)中文亂碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:荊門 連云港 遵義 雞西 朝陽 面試通知 運(yùn)城 隴南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一次tomcat源碼啟動(dòng)控制臺(tái)中文亂碼的調(diào)試過程記錄》,本文關(guān)鍵詞  一次,tomcat,源碼,啟動(dòng),控制臺(tái),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一次tomcat源碼啟動(dòng)控制臺(tái)中文亂碼的調(diào)試過程記錄》相關(guān)的同類信息!
  • 本頁收集關(guān)于一次tomcat源碼啟動(dòng)控制臺(tái)中文亂碼的調(diào)試過程記錄的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲毛片av在线| 国产一区 二区| 蜜臂av日日欢夜夜爽一区| 成人夜色视频网站在线观看| 欧洲视频一区二区| 久久精品视频免费| 日韩精品一二区| 97精品国产97久久久久久久久久久久| 7777精品久久久大香线蕉| 亚洲欧美综合在线精品| 精品综合免费视频观看| 99久久伊人精品| 国产亚洲欧美激情| 久久不见久久见中文字幕免费| 在线观看视频一区二区欧美日韩| 国产欧美va欧美不卡在线| 蜜臀久久99精品久久久久久9| 在线观看亚洲精品视频| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 成人av影视在线观看| 精品日韩一区二区三区免费视频| 亚洲高清视频中文字幕| 91小视频在线观看| 国产精品久久久久影院老司| 国产白丝精品91爽爽久久 | 在线观看一区二区精品视频| 国产精品无人区| 国产不卡在线视频| 日本一区二区三区四区| 国产激情一区二区三区四区| 欧美精品一区二区在线播放| 国模套图日韩精品一区二区| 日韩三级中文字幕| 九九九精品视频| 久久久久免费观看| 福利一区二区在线| 亚洲国产精品99久久久久久久久| 国产福利不卡视频| 中文字幕国产一区| 99九九99九九九视频精品| 综合久久一区二区三区| 99精品视频在线免费观看| 亚洲人成在线播放网站岛国| 一本一本大道香蕉久在线精品| 亚洲黄网站在线观看| 欧美日韩一区二区在线视频| 偷窥国产亚洲免费视频| 欧美精品 国产精品| 亚洲国产综合色| 欧美精三区欧美精三区| 看片的网站亚洲| 欧美国产欧美综合| 一本到不卡精品视频在线观看| 亚洲综合激情网| 欧美一区二区在线免费观看| 国产美女在线精品| 国产欧美日韩在线观看| 一本色道**综合亚洲精品蜜桃冫| 亚洲影院理伦片| 日韩精品中午字幕| av亚洲精华国产精华精华| 国产精品福利电影一区二区三区四区| 日本道精品一区二区三区| 亚洲高清一区二区三区| 久久一夜天堂av一区二区三区| www.日本不卡| 午夜精彩视频在线观看不卡| 88在线观看91蜜桃国自产| 久久国产欧美日韩精品| 欧美国产精品v| 欧洲精品中文字幕| 国产精品自拍网站| 亚洲一区在线播放| 精品国产乱码久久久久久牛牛| 成人久久18免费网站麻豆| 午夜精品视频在线观看| 国产亚洲va综合人人澡精品| 在线一区二区观看| 国产毛片精品视频| 亚洲国产精品欧美一二99| 精品99999| 欧美三级三级三级| 大尺度一区二区| 日产精品久久久久久久性色| 中文字幕欧美一| 亚洲精品在线免费播放| 在线精品观看国产| youjizz久久| 国产在线精品免费| 三级亚洲高清视频| 中文字幕综合网| 久久久不卡影院| 51久久夜色精品国产麻豆| 99国产精品久| 国产麻豆欧美日韩一区| 日日夜夜一区二区| 亚洲自拍与偷拍| 国产精品美女一区二区三区| 精品成人私密视频| 欧美日韩国产免费一区二区 | 欧美日本在线看| 色综合久久综合| 成人av网在线| 国产精品1区2区3区在线观看| 丝袜美腿成人在线| 亚洲一区精品在线| 国产精品成人一区二区三区夜夜夜| 欧美大尺度电影在线| 6080国产精品一区二区| 欧美日韩在线不卡| 欧美伊人久久久久久久久影院| 成人免费av在线| 国产盗摄一区二区| 国产成人在线免费观看| 国内精品久久久久影院薰衣草| 蜜桃视频在线观看一区| 日本麻豆一区二区三区视频| 三级不卡在线观看| 日日夜夜精品免费视频| 婷婷国产在线综合| 亚洲mv大片欧洲mv大片精品| 午夜精品久久久久久久久久久| 亚洲成a人v欧美综合天堂 | 欧美美女网站色| 欧美伦理视频网站| 欧美一区二区免费观在线| 51久久夜色精品国产麻豆| 欧美精品aⅴ在线视频| 欧美一区二区视频观看视频| 日韩一区二区电影在线| 精品伦理精品一区| 国产色91在线| 中文字幕一区二区三| 一区二区三区四区精品在线视频| 一区二区在线电影| 日韩电影在线免费| 精品一二线国产| 成人高清免费在线播放| 91小视频在线| 欧美二区乱c少妇| 亚洲精品一线二线三线无人区| 久久免费午夜影院| 中文字幕亚洲在| 亚洲电影你懂得| 亚洲综合一区二区| 蜜桃一区二区三区在线观看| 国产成人精品影院| 色哟哟亚洲精品| 欧美一区二区三区视频在线观看| 久久亚洲免费视频| 中文字幕日韩精品一区| 五月天婷婷综合| 国产一区二区福利视频| 99久久久国产精品免费蜜臀| 欧美三级中文字| 精品国产制服丝袜高跟| 成人欧美一区二区三区小说| 亚洲成人av在线电影| 国产精品一区二区三区网站| 91成人免费电影| 久久免费美女视频| 亚洲图片欧美视频| 成人精品视频一区二区三区尤物| 欧美在线|欧美| 久久久久国产精品厨房| 亚洲第一久久影院| 成人午夜伦理影院| 欧美一区二区三区白人| 亚洲日本成人在线观看| 免费一级片91| 欧美中文字幕一区二区三区亚洲| 精品国产123| 婷婷开心久久网| 91麻豆高清视频| 国产欧美日韩另类视频免费观看| 亚洲成av人**亚洲成av**| 成人高清在线视频| 337p日本欧洲亚洲大胆色噜噜| 亚洲国产精品久久一线不卡| 成人免费视频视频在线观看免费 | 欧美在线高清视频| 欧美视频一区二区三区在线观看 | 成人亚洲精品久久久久软件| 欧美一区二区在线不卡| 依依成人综合视频| 99精品视频在线播放观看| 欧美国产一区在线| 黑人巨大精品欧美黑白配亚洲| 欧美挠脚心视频网站| 亚洲婷婷综合色高清在线| 国产成人8x视频一区二区| 337p日本欧洲亚洲大胆色噜噜| 日本欧美肥老太交大片| 欧美揉bbbbb揉bbbbb| 亚洲精品日韩专区silk| 99国产欧美另类久久久精品| 国产精品美女久久久久久久| 国产精品一区免费视频| 久久久一区二区三区捆绑**| 美女性感视频久久|