4

JavaでHTMLファイルを解析/変換するために、HtmlCleanerライブラリを使用しています。

「ÁáÉéÍíÍíÑñÓóÚúÜü」などのスペイン語の文字を処理できないようです

これまたは他のソリューションを処理するために HtmlCleaner に設定できるプロパティはありますか? これを呼び出すために使用しているコードは次のとおりです。

CleanerProperties props = new CleanerProperties();
props.setRecognizeUnicodeChars(true);
java.io.File file = new java.io.File("C:\\example.html");
TagNode tagNode = new HtmlCleaner(props).clean(file);
4

2 に答える 2

2

指定しない限り、HtmlCleaner は JVM から読み取ったデフォルトの文字セットを使用します。Windows では、これは UTF-8 ではなく Cp1512 になります。これがおそらく問題の原因です。

次のいずれかを実行できます

  • -Dfile.encoding=UTF-8JVM の開始行に指定します
  • HtmlCleaner.clean()文字セットを受け入れるオーバーロードを使用する

    TagNode tagNode = new HtmlCleaner(props).clean(file, "UTF-8");
    

    Charsets.UTF_8(プロジェクトに Google Guava がある場合は、定数に使用できます)

  • HtmlCleaner.clean()正しい文字セットで既に構築した InputStreamReader を受け入れるオーバーロードを使用します。
于 2012-04-25T15:00:27.933 に答える
0

に変更できUTF-8ますUTF-16

最大文字数をサポートします。

于 2012-04-25T09:47:28.613 に答える