7

ドイツ語、フランス語、スペイン語、英語、ポーランド語のテキストを含む xml ファイルを読んでいます。

ポーランド語の文字を処理するために(これが最も問題を引き起こしました)、次のようにしようとしました:

File file = new File(path);
InputStream is = new FileInputStream(file);
Reader reader = new InputStreamReader(is, charset);

InputSource src = new InputSource(reader);
src.setEncoding(charset.name());

SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();

saxParser.parse(src, handler);

私が遭遇した問題は、デフォルトの文字セットのどれもテキストを適切に表示しないということでした. 疑問符が含まれているものもあれば、ÄÖ. など、他の文字の組み合わせが含まれているものもあります。

少し分解するために、どの文字セットが機能するかをテストする別のスニペットを書きました。

public static void main(String[] args){
        Charset charset = StandardCharsets.UTF_8;
        String chars = "śłuna długie";
        System.out.println(new String(chars.getBytes(charset), charset));
}

もう一度すべてをテストしましたが、何も機能しません..あなたがアイデアを持っていることを願っています.

4

1 に答える 1

0

私の解決策:あなたのIDEのエンコーディングを変更してください

この PC で Windows を使用しているため、IDE (intellij) のデフォルトのエンコードである "windows-1252" を使用しました。

そこで、UTF-8 に変更したところ、短いテスト コードがうまく機能しました。

于 2015-06-14T14:48:57.920 に答える