專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)李滄免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
處理HTTP請(qǐng)求返回結(jié)果出現(xiàn)亂碼怎么辦?相信很多新手小白對(duì)此束手無(wú)策,通過(guò)這篇文章的總結(jié),希望你能找到解決的方法。以下是亂碼的原因和解決方法。
原因:處理HTTP請(qǐng)求返回結(jié)果時(shí),出現(xiàn)亂碼是因?yàn)樵O(shè)置Charset編碼格式不正確,通常設(shè)置UTF-8可以解決大部分情況,但并不是所有Web服務(wù)器都一定使用UTF-8格式。
解決:正確的方法是獲取內(nèi)容編碼時(shí)的格式:
- 調(diào)用httpResponse.getEntiry()獲取返回結(jié)果
- 調(diào)用ContentType.get()獲取內(nèi)容類型
- 調(diào)用ContentType.getCharset()獲取編碼格式
- 調(diào)用EntityUtils.toString()將返回結(jié)果格式化為字符串
public classRespStrimplementsResponseHandler
@Override
publicStringhandleResponse(HttpResponse httpResponse)throwsIOException {
HttpEntity entity = httpResponse.getEntity();
if(entity ==null) {
throw newClientProtocolException("Response contains no content");
}
// 讀取返回內(nèi)容
ContentType contentType = ContentType.getOrDefault(entity);
Charset charset = contentType.getCharset();
returnEntityUtils.toString(entity,charset ==null? Charset.forName("utf-8") : charset);
}
}
ResponseHandler
以上就是處理HTTP請(qǐng)求返回結(jié)果出現(xiàn)亂碼的解決方法,詳細(xì)使用情況還得要大家自己使用過(guò)才能知道具體要領(lǐng)。如果想閱讀更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!