亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JTidy 解析 HTML 中文 亂碼問題

JTidy 解析 HTML 中文 亂碼問題

慕的地8271018 2018-12-07 04:08:48
代碼如下 其中responseString是通過HttpClient返回的HTML頁面內容,包含中文,UTF-8,在log中顯示正常; 這段代碼在一個Web應用中被執行。 1, 當我直接在eclipse,把Web應用放tomcat里運行時,兩次trace打印出來的內容都能正常顯示中文內容; 2, 當我把Web應用打成war包,入到服務器(其實就是我的電腦本機,脫離eclipse)運行時,兩次trace,第一次打印出來的中文正常顯示,但第二次卻是亂碼。 所以我覺得很詭異,同樣的一段代碼,在不同的方式運行出不同的結果。不知道是不是JTidy會依賴什么環境變量? 我用的是:eclipse?Helios Service Release 1, tomcat 7(與這個無關,我也試過6),操作系統是Win7 英文。 百思不得其解,救解! ByteArrayInputStream in = null; try { in = new ByteArrayInputStream(responseString.getBytes()); logger.trace("@@@@@@@ ByteArrayInputStream -> \n\n" + responseString + "\n\n"); Tidy tidy = new Tidy(); tidy.setQuiet(true); tidy.setShowWarnings(false); tidy.setInputEncoding("UTF-8"); org.w3c.dom.Document dom = tidy.parseDOM(in, null); Document doc = new DOMReader().read(dom); logger.trace("@@@@@@@ SAXReader -> \n\n" + doc.asXML() + "\n\n"); } finally { try { in.close(); } catch (IOException ignore) { } }
查看完整描述

1 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

我是做.net的,不知道跟你們java有沒有區別,就權作為建議把;

首先要保證頁面的格式是不是UTF-8,然后網站的配置文件里面responseEncoding以及requestEncoding是不是都是設置的為utf-8 ;

查看完整回答
反對 回復 2018-12-16
  • 1 回答
  • 0 關注
  • 681 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號