WebLinks 開発者向け 文書
RSSの文字コード
RSSの文字コードはUTF-8が主流である。
XOOPSでは言語により採用している文字コードが異なる。
日本では、EUC-JP を採用している。
英語圏では、US-ASCII を採用している。
さらに、UTF-8以外の文字コードを出力するRSSサイトもある。
また、PHPのXMLパーサー関数は US-ASCII あるいは UTF-8 しか使用できない。
RSSの表示の処理
次のステップで取得したRSSを表示している。
(1) 取得したRSSをUTF-8 に変換する
XMLの encoding により 文字コードを判別する。
設定されていないものは、UTF-8と見なす。
<? xml version="1.0" encoding="***" ?>
(2) PHPのXMLパーサーで構文解析する
(3) 解析された結果を UTF-8 から XOOPSの文字コードに変換する。
(4) XOOPSの文字コードで表示する。
RSSの出力の処理
(1) XOOPSの文字コードから UTF-8 に変換する
(2) UTF-8 で出力する。
文字コードの変換
文字コードの変換には PHPのマルチバイト関数を使用している。
しかし、英語圏ではマルチバイト関数が組み込まれていないことが多い。
そこで、デフォルトは マルチバイト関数を使用しない方法とした。
ただし、英語以外の言語では文字化けする。
日本語環境では、マルチバイト関数が組み込まれていることが前提となっている。
組み込まれいなければ、文字化けする。
マルチバイト関数を使用するか否かは、
言語別ファイル (language/xxx/language_convert.php ) で設定する。
文字化けすることがある
日本語環境で、マルチバイト関数が組み込まれていても、文字化けすることがある。
ドイツ語やフランス語のウムラウトなどは文字化けする。
これは、日本語の文字コードと重複しているためである。
現時点では、何の対策も行っていない。
諦めてください。
$Id: rss_code.html,v 1.1 2005/07/19 03:52:21 ohwada Exp $