ローマ(1.0)を使用してフィード アグリゲーターを作成しようとしています。すべてが機能していますが、フィードの文字セットに問題があります。Mac OS X(netbeans 6.9.1)でJava 1.6を使用して開発しています。
次のコードを使用してフィードを取得しています。
InputStream is = new URL(_source).openConnection().getInputStream();
SyndFeed feed = (SyndFeed) input.build(new InputStreamReader(is, Charset.forName(_charset)));
はRSS_sourceソース ( http://rss.cnn.com/rss/edition.rss など)であり、UTF-8 または ISO-8859-1 です。_charset
それは機能しますが、ラテン文字 (ポルトガル語など) を使用する一部のサイトでは、両方のエンコーディングを使用しても機能しません。
たとえば、http://oglobo.globo.com/rss/plantaopais.xmlから読み込まれたフィードは、常に次のようなダミー文字を返します。
サンパウロの秘密(UTF-8)
サンパウロの秘密(ISO-8859-1)
なんで?何か不足していますか?
UTF-16 などを使用しようとすると、ローマからエラーがスローされます: com.sun.syndication.io.ParsingFeedException: Invalid XML: Error on line 1: Content is not allowed in prolog.
US-ASCII のような他のエンコーディングを試してみましたが、幸運ではありませんでした...
もう 1 つの質問: ローマは (Java を使用して) フィードを処理するための最良のソリューションですか? ローマの最新バージョンは 1.0 で、2009 年のものです。
ティア、
ボブ