2016-12-29 4 views
1

Ich erwarte, das ist ziemlich einfach:HtmlUnit: Codierung für chinesische Website

Wenn Sie Seiten von einer chinesischen Website herunterladen, erscheinen alle chinesischen Zeichen als "?" in der gespeicherten Datei (viW Java NIO Files.write).

Ich weiß, dass die chinesische Webseite als UTF-8 abgerufen wird (page.getPageEncoding() gibt "UTF-8" zurück), aber beim Speichern der Webseite ist etwas schief gelaufen.

Mein Code ist wie folgt:

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()); 

Antwort

1

Die Antwort lautet wie folgt:

  barrayXml = page.asXml().getBytes(Charset.forName("UTF-8")); 



      Files.write(Paths.get(outputPath + File.separator + fileNameTruncated + TXT), barrayXml);