MagpieRSS-0.72 を日本語環境でも使えるようにする
友人に影響を受けて、
PHP な環境である件数のRSSを引っ張って表示するというライブラリを見つけて実装してみたけど、文字化けするので文字化けしない古いバージョンを使うことにした。と聞いたので
コードをいじれば新しいバージョンでも使えるんじゃないか?と思いやってみた。

結果だけを書いておく。
php.ini の mbstring.internal_encoding = EUC-JP に
たぶんここに
rss_fetch.inc とrss_parse.incに ISO-8859-1 って書いてあるのをEUC-JPと書き換えればOKなはず。>0.72

rss_fetch.inc は1箇所

define('MAGPIE_OUTPUT_ENCODING', 'ISO-8859-1');

define('MAGPIE_OUTPUT_ENCODING', 'EUC-JP');




rss_parse.inc は2箇所

var $_KNOWN_ENCODINGS = array('UTF-8', 'US-ASCII', 'ISO-8859-1');

var $_KNOWN_ENCODINGS = array('UTF-8', 'US-ASCII', 'ISO-8859-1', 'EUC-JP');



function MagpieRSS ($source, $output_encoding='ISO-8859-1',

function MagpieRSS ($source, $output_encoding='UTF-8'



コレで動くと思います。
動かなかったらごめんなさい。
[PR]

by arigayas | 2008-04-08 01:28 | パソコン関係 | Trackback | Comments(3)
トラックバックURL : http://arigayas.exblog.jp/tb/8336510
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
Commented by 通りすがり at 2008-05-21 17:19 x
これを参考にやってみたら動きました!
ありがとうございます。
私はEUCじゃなくてUTF-8を使ってるので、上記「EUC-JP」の部分を「UTF-8」でいけました。
Commented by とおりすがり at 2008-08-20 18:24 x
ソースを書き換えなくても、

includeする前に
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');

って指定すると返り値がUTF-8でやってくるようになりますよ。
Commented by arigayas at 2008-09-02 10:34
> 通りすがり さん
コメントありがとうございます。
お役に立てたようで光栄です。


> とおりすがり さん
コメントありがとうございます。
そうだったんですか!φ(..)メモメモ
なにぶんPHP初心者なので勉強になりました。
<< FreeBSD 6.3 に P... Songbird 0.5 re... >>