
Friday, February 10, 2006
CaRP RSSパーサーが日本語RSSフィードをウェブページに表示する
昨日、RSSパーサーのCaRPの新バージョーンをリリースした。このバージョンに、日本語や別のmulti-byte言語を正しく処理するようになった。以前、文字数を限定した時に(たとえば、タイトルの最初の15文字だけ表示したい場合)CaRPが最初の15バイトを表示した。日本語はたとえUTF-8エンコードを使っている場合1つの文字が普通3バイトで表される。だからうまくいく場合、15文字の代わり、5文字しか表示されなかった。うまくいかない場合、最後の文字の最初のバイトだけ表示するから文字化けが出てしまった。その問題を今回のバージョンに解決したから、日本語にあまり合っていなかったCaRPが完全に日本語を処理できるようになった。
しかし、もう一つの問題がある。CaRPがUTF-8、ISO-8859-1とUS-ASCII以外のエンコーディングを処理できない(PHPのXMLパーサーの限定のため)。だからフィードがShift JISやEUCでエンコードしている場合、またはウェブページがそのいすれのエンコーディングを使っている場合、最初にUTF-8に「transcode」しないとならない。CaRPの無料バージョンはそれができないがCaRP KoiとCaRP Evolutionが「transcode.php」というスクリプトが含まれているから、できる。
ウェブページがUTF-8の場合、コードはこのよう:
<?php
require_once '/YOUR/PATH/TO/carp/carp.php';
CarpConf('encodingout','UTF-8');
CarpCacheShow('http://YOUR-SITE.COM/transcode.php?url='. urlencode('http://EXAMPLE.COM/FEED.RSS'));
?>
ウェブページがUTF-8でない場合(例えばShift JISの場合)コードはこのよう:
<?php
require_once '/YOUR/PATH/TO/carp/carp.php';
CarpConf('encodingout','UTF-8');
CarpConf('outputformat',2);
CarpCacheShow('http://YOUR-SITE.COM/transcode.php?url='. urlencode('http://EXAMPLE.COM/FEED.RSS'));
echo iconv('UTF-8','Shift_JIS//TRANSLIT',$carpoutput);
?>
いずれもサーバがiconvをサポートする必要があるが、ほとんどのサーバがサポートしているから、大体の場合はこのコードが利用できるだろう。
しかし、もう一つの問題がある。CaRPがUTF-8、ISO-8859-1とUS-ASCII以外のエンコーディングを処理できない(PHPのXMLパーサーの限定のため)。だからフィードがShift JISやEUCでエンコードしている場合、またはウェブページがそのいすれのエンコーディングを使っている場合、最初にUTF-8に「transcode」しないとならない。CaRPの無料バージョンはそれができないがCaRP KoiとCaRP Evolutionが「transcode.php」というスクリプトが含まれているから、できる。
ウェブページがUTF-8の場合、コードはこのよう:
<?php
require_once '/YOUR/PATH/TO/carp/carp.php';
CarpConf('encodingout','UTF-8');
CarpCacheShow('http://YOUR-SITE.COM/transcode.php?url='. urlencode('http://EXAMPLE.COM/FEED.RSS'));
?>
ウェブページがUTF-8でない場合(例えばShift JISの場合)コードはこのよう:
<?php
require_once '/YOUR/PATH/TO/carp/carp.php';
CarpConf('encodingout','UTF-8');
CarpConf('outputformat',2);
CarpCacheShow('http://YOUR-SITE.COM/transcode.php?url='. urlencode('http://EXAMPLE.COM/FEED.RSS'));
echo iconv('UTF-8','Shift_JIS//TRANSLIT',$carpoutput);
?>
いずれもサーバがiconvをサポートする必要があるが、ほとんどのサーバがサポートしているから、大体の場合はこのコードが利用できるだろう。
1 ã³ã¡ã³ãï¼
20 February, 2006 01:04 - Coloãã
アントン-san
You write very good Japanese! May I ask where can I download the latest version of CaRP RSS? I'd like to use it for my blog if possible. Now am using MagpieRSS modified for Japanese text, but sometimes it doesn't work.
Your favorable cooperation would be highly appreciated.
Colo