我在使用JSoup庫解析和呈現頁面時遇到了字符集問題。這裏是它呈現在網頁的一個例子:爲什麼在這個網頁(使用JSoup生成)中沒有正確呈現UTF-8字符?
http://dl.dropbox.com/u/13093/charset-problem.html
正如你所看到的,那裏應該是'字,?正在被渲染(即使你查看源代碼)。
通過下載網頁,使用JSoup進行解析,然後在進行一些結構更改後再次重新渲染,即可生成此頁面。
我下載的頁面如下:
final Document inputDoc = Jsoup.connect(sourceURL.toString()).get();
當我創建的輸出文檔我這樣做如下:
outputDoc.outputSettings().charset(Charset.forName("UTF-8"));
outputDoc.head().appendElement("meta").attr("charset", "UTF-8");
outputDoc.head().appendElement("meta").attr("http-equiv", "Content-Type")
.attr("content", "text/html; charset=UTF-8");
任何人都可以提供建議,以我在做什麼錯誤?
編輯:請注意,源頁面http://blog.locut.us/和你會看到,它似乎正確地呈現
它肯定看起來像一個編碼問題。也許在服務器上?如果直接連接並查看返回的流,文本是否仍然有「?」問題? –
源頁面是http://blog.locut.us/,它似乎正確呈現: -/ – sanity