我正在閱讀XML文檔(UTF-8)並最終使用ISO-8859-1在網頁上顯示內容。正如所料,有幾個字符不能正確顯示,如「
,–
和’
(它們顯示爲?)。在Java中將UTF-8轉換爲ISO-8859-1
是否可以將這些字符從UTF-8轉換爲ISO-8859-1?
下面是一個代碼片段我寫嘗試這樣的:
BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
byte[] latin1 = sb.toString().getBytes("ISO-8859-1");
return new String(latin1);
我不太清楚發生了什麼事情出差錯,但我相信它的readLine()是造成悲傷(因爲字符串會是Java/UTF-16編碼?)。我嘗試另一個變化是與
byte[] latin1 = new String(sb.toString().getBytes("UTF-8")).getBytes("ISO-8859-1");
我已閱讀關於這個問題以前的帖子,我學習,我去更換的latin1。在此先感謝您的幫助。
精美作品。謝謝! – Chocula 2009-08-13 23:05:24
這只是給了我很多的傷心! – daniel0mullins 2013-01-25 19:42:40