Jsoup有特殊HTML符号的问题,‘ — 等等
我有一些HTML(字符串),我通过Jsoup,所以我可以添加一些东西到所有href和src属性,这很好。 但是,我注意到对于一些特殊的HTML字符,Jsoup正在将它们转换为“
对于实际的人物“
。 我输出前后的值,我看到了这个变化。
之前:
THIS — IS A “TEST”. 5 > 4. trademark: ™
后:
THIS — IS A “TEST”. 5 > 4. trademark: ?
到底他妈发生了什么? 我特意将这些特殊字符转换为HTML实体,然后才能避免这种情况。 引号更改为实际引号字符,大于保持不变,商标变为问号。 AAAAAAA。
仅供参考,我的Jsoup代码正在做:
Document document = Jsoup.parse(fileHtmlStr); //some stuff String modifiedFileHtmlStr = document.html();
谢谢你的帮助!
下面的代码将类似于输入标记。 它更改特定字符的转义模式,并设置ASCII模式以转义不支持Unicode的系统的TM符号。
输出:
THIS — IS A “TEST”. 5 > 4. trademark:
代码:
Document doc = Jsoup.parse("" + "THIS — IS A “TEST”. 5 > 4. trademark:
"); Document.OutputSettings settings = doc.outputSettings(); settings.prettyPrint(false); settings.escapeMode(Entities.EscapeMode.extended); settings.charset("ASCII"); String modifiedFileHtmlStr = doc.html(); System.out.println(modifiedFileHtmlStr);