java.util.Scannerを使用してウィキペディアのコンテンツを取得し、単語ベースの検索に使用しようとしています。事実、それはすべて問題ありませんが、いくつかの単語を読むとエラーが発生します。コードを見て確認すると、一部の単語ではエンコーディングなどが認識されないようで、コンテンツが読みにくくなっていることがわかりました。これは、ページを取得するために使用されるコードです。
// -始める-
try {
connection = new URL("http://it.wikipedia.org
wiki/"+word).openConnection();
Scanner scanner = new Scanner(connection.getInputStream());
scanner.useDelimiter("\\Z");
content = scanner.next();
// if(word.equals("pubblico"))
// System.out.println(content);
System.out.println("Doing: "+ word);
//End
この問題は、イタリア語版ウィキペディアの「pubblico」という単語で発生します。pubblicoという単語のprintlnの結果は次のようになります(カット):ï¿ï¿½] Ksr>�〜E�1A���E�ER3tHZ�4v��&PZjtc�¿½ï¿ ½D�7_|����=8��Ø}
理由はわかりますか?しかし、ページのソースとヘッダーは同じで、同じエンコーディングです...
コンテンツがgzipで圧縮されていることが判明したので、ウィキペディアにteirページを圧縮して送信しないように指示できますか、それが唯一の方法ですか?ありがとうございました