我希望这是非常基本的:
从中文网站下载页面时,所有中文字符都显示为“?”在保存的文件中(viw java NIO Files.write)。
我知道中文网页是以UTF-8(page.getPageEncoding()返回“UTF-8”)的形式检索的,但是在保存网页时出现了问题。
我的代码如下:
final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_45);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setTimeout(15000);
final HtmlPage page = webClient.getPage(urlNow);
pageAsXml = page.asXml();
NioLog.getLogger().debug(page.getPageEncoding());
Files.write(Paths.get(outputPath + File.separator + fileNameTruncated + TXT), pageAsXml.getBytes());
答案 0 :(得分:1)
答案如下:
barrayXml = page.asXml().getBytes(Charset.forName("UTF-8"));
Files.write(Paths.get(outputPath + File.separator + fileNameTruncated + TXT), barrayXml );