2
我們做以下幾點:與數字字符編碼JSoup引用問題
- 打開的Reader文件,使用一些指定的編碼。
- 在每一行中閱讀,將其解析爲CSV。
對於一些在CSV數據列,把它傳遞給JSoup到如下清理HTML:
public String apply(@Nullable String input) { Document document = Jsoup.parse(input); return document.text(); }
這個偉大的工程,除了在numeric character references存在,如 
。看起來發生的事情是,因爲在我們找出編碼(爲了使CSV解析工作)之後我們必須做JSoup調用,當JSoup轉而將硬編碼的字節轉換成字符時,我們正在工作與錯誤的字符集。 Byte 160(0xa0)在windows-1252中是非破壞性的空間,但不是有效的Unicode字符,所以當JSoup用一個字節替換數字字符引用時,給我們提供了不好的數據。
有沒有辦法解決?這將需要JSoup被賦予數字字符引用的「源編碼」,或類似的東西。
原來我很困惑 - 問題是別的。不過,這聽起來像是對原始問題的正確答案。關於API的一個問題 - 這實際上不是*輸出*設置,它是* input *編碼的問題,對吧? –