HtmlUnit:中文网站编码
HtmlUnit: Encoding for Chinese Website
我希望这是非常基本的:
从中文网站下载页面时,所有中文字符都显示为“?”在保存的文件中(viw java NIO Files.write)。
我知道中文网页被检索为UTF-8 (page.getPageEncoding() returns "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());
答案如下:
barrayXml = page.asXml().getBytes(Charset.forName("UTF-8"));
Files.write(Paths.get(outputPath + File.separator + fileNameTruncated + TXT), barrayXml );
我希望这是非常基本的:
从中文网站下载页面时,所有中文字符都显示为“?”在保存的文件中(viw java NIO Files.write)。
我知道中文网页被检索为UTF-8 (page.getPageEncoding() returns "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());
答案如下:
barrayXml = page.asXml().getBytes(Charset.forName("UTF-8"));
Files.write(Paths.get(outputPath + File.separator + fileNameTruncated + TXT), barrayXml );