2011-04-08 542 views
1

我有編碼問題,在我從網站上下載RSS源的數據後。有些角色不能正確解讀。 我使用HttpResponse.getEntity()並放入循環讀取inputStream並寫入ByteArrayOutPutStream。ByteArrayOutputStream編碼問題

E.g. ByteArrayOutPutStream bs; 寫上「bs」後,我用String test = bs.toString(「UTF-8」);

但有些性格就這樣產生了:Mytestï¼è¾å¸éï¼å°±è¢«æèªé²å¥é»åéμ件系Cμ±ä¸äºéç¥A®¢æ¶

我不能轉換的字符,任何理念。

謝謝

回答

4

這不是在UTF-8編碼,很可能在Big5編碼(你的問題的歷史證明,你從中國/香港是)。

MYTEST簿翹癡職疇繡蒙簿翹疇簞簣癡瞽竄疆癡穠蒙簡疇瞼蒙壇疇簫蒙繕瓣壇繞癟糧壇癟繕簣瓣繡瓣翻蒙癟瞼面彈簧瞽疆繞

你應該能夠確定自己通過讀取HttpEntity#getContentType()。它應該返回像

text/html;charset=Big5 
+0

@BalusC:你可以請讓我知道,你是如何發現,這將是有益的。 – 2011-04-08 13:01:35

+0

@Suresh:使用UTF-8將它們轉換回字節,然後讀取十六進制模式。 – BalusC 2011-04-08 13:19:58

+0

它不起作用,對的就是漢字。但是,當我以xml格式檢索字符串時,它顯示:???????xml version =「1.0」encoding =「utf-8」?>和getContentType()。Name始終返回「Content-Type」和value return「text/xml「它不返回chartset;來自HttpEntity.getContentType()。 – user553710 2011-04-08 14:47:56