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 *编码的问题,对吧? –