Category: RSS

showrssでdoblogのRSSが文字化けする

  • ページ: BugTrack
  • 投稿者: kent?
  • 優先順位: 低
  • 状態: 却下
  • カテゴリー: プラグイン
  • 投稿日: 2004-04-28 (水) 15:41:49
  • バージョン: 1.4.3

メッセージ

showrssプラグインで、doblogのRSSを読み込むと、文字化けします。

#showrss(http://www.doblog.com/weblog/RSSServlet?CMD=LATEST&userid=9075, recent, 12, 1);

で下記を書き換えました。

261c261,262
< 		$xml_parser = xml_parser_create();
---
> 		$buf = mb_convert_encoding($buf, "UTF-8", mb_detect_encoding($buf));
> 		$xml_parser = xml_parser_create("UTF-8");

ShowRSS.escapeのなかで、

echo mb_detect_encoding($str);

としてみたところ、ASCIIと表示されてしまうのでxml_perser_createでUTF-8を指定してみましたが、そうするとEUC-JPでかかれたページなどが表示されなくなってしまうので文字コードを変換して対応しました。


  • RDF Site Summary(RSS) 1.0・Core Syntax
    • Encoding

      While RSS 0.9 supported only ASCII encoding, RSS 1.0 assumes UTF-8. Using US-ASCII (i.e. encoding all characters over 127 as &#nnn;) is conformant with UTF-8 (and ISO-8859-1, HTTP's default header encoding).

    ということで、EUCで出力するサイトの側のバグ。

  • 返答ありがとうございます。上の説明でEUCのRSSについてはおぉと思ったのですが、doblogのRSSはUTF-8と書いてあるのですが文字化けしてしまいます。とりあえず文字コードを変換しなくてもxml_parser_createにUTF-8を指定するだけで通るのですが、なぜだか教えていただけますか?
    RSS 0.9 supported only ASCII encoding
    とあって、当該RSSにはバージョンが0.91と書いてあるので微妙な感じですが。
    ふさわしい場所でなければ質問箱へ移動します。 -- kent? 2004-04-28 (水) 22:24:51
  • 差分を見て調べてみたんですが、RSS0.91では[[Supported Encodings>http ://my.netscape.com/publish/formats/rss-spec-0.91.html#encodings]]で示されているように、EUC-JP及びSJISなどのエンコードも使えるようです。ということは0.9はASCIIで、1.0はUTF-8とASCIIで、RSS0.92~RSS0.94及びRSS2.0はRSS0.91への広報互換性を保っているそうなので0.91で使えるエンコーディングが使えるということなのかな?showrssはRSS1.0用なんでしょうか。 -- kent? 2004-04-29 (木) 04:03:26

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-04-29 (木) 04:04:04
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.182 sec.

OSDN