我使用Jsoup库。
执行以下代码后:
Document doc = new Document(language);
File input = new File("filePath" + "filename.html");
PrintWriter writer = new PrintWriter(input, "UTF-8");
String contentType = "<%@ page contentType=\"text/html; charset=UTF-8\" %>";
doc.appendText(contentType);
writer.write(doc.toString());
writer.flush();
writer.close();
在输出html文件中,我收到以下文本:
<%@ page contentType="text/html; charset=UTF-8" %>
而不是
<%@ page contentType="text/html; charset=UTF-8" %>
可能是什么问题?
答案 0 :(得分:1)
这些是转义字符,用于防止浏览器将它们视为html标记。这不是一个问题。当您通过浏览器打开页面时,它将正确呈现
答案 1 :(得分:0)
这里有一些问题:
Document doc = new Document(language);
不要这样做。请改用Jsoup.parse(...)
。
<%@ page contentType="text/html; charset=UTF-8" %>
这不是HTML,可能无法正确解析。
现在,为你的问题。你应该使用像
这样的东西Document document = Jsoup.parse(new ByteArrayInputStream(myHtmlString.getBytes(StandardCharsets.UTF_8)), "ISO-8859-1", BaseUrl);