1月
11
2008

マルチバイト変換(mbstring)の悪夢。

マルチバイト変換(mbstring)の悪夢。新自鯖のPHP5環境でムリクリXOOPSを動かしているのですが、WebLinksモジュール(Ver 0.97)FEEDデータが取得できなかったので、試しにヘッドラインモジュールxhld(Ver 3.07)を導入して実験してみたところ、全てのFEEDデータが文字化けしちゃってまして。_| ̄|○

該当サイトのソースを見た細君に指摘されて気付いたのですが、ヘッドラインの読み込み(RSS/RDF)はUTF-8で読み込んでいるが、EUC-JP変換されずに文字化け(UTF-8)している状態(他の項目はEUC-JPで日本語表示)になっているよーでした。

以下に備忘録として対応履歴を残します。
 

 
まず、文字化けといえば・・・と、以前に別の鯖でXOOPSを導入した際に
施した.htaccessによる文字化け対策をやってみたがダメ。
マルチバイト変換(mbstring)の根本設定をやってみよーと、
/etc/php.ini の設定を行ってもみたがダメ。
(まぁ、コレは同じコトだらかダメっちゃーダメだわな;)

その後、散々ネットで調べた結果、最近のPHP4やPHP5には必ず
入ってるって書いてあったから盲点だったんだけど、どーやら
mbstring自体が鯖に入っていない悪寒。とりあえず、下記PHP
スクリプトをつくって、テケトーなディレクトリにアップしてアクセス。
 

<?php
phpinfo();
?>

 
「mbstring」に関する項目があれば導入済みらしいのですが、
検索かけたら見事にヒットしない・・・〓■●
しょーがないんで、mbstringをインスコしました。
 

$ yum -y install php-mbstring

 
これで一応、UTF-8でエンコされているFEEDデータは
読み込めたんですが、Shift_JISでエンコされている、
このBLOGのFEEDが読み込めねぇ。。。凹○コテッ

WebLinksモジュールのVer 0.97ではFEEDのエンコード指定が
できなかったので、Ver 1.83を導入。Happy Linux モジュール(Ver 1.22)と、
RSS Center(Ver 0.71)もあわせて導入して動かしてみたところ、
ようやく無事にFEEDを取得することができました。
この程度のトラブルで1日ムダにしちったぃ<(; ̄ ・ ̄)=3 フゥ... 調べている途中で通りすがったのですが、海外レンタル鯖などでmbstringが 入っていない方は、mbstringエミュレータなるものがあるそーです。
xhldモジュールへの組込方法が載ってるサイトをみつけたので、紹介しておきます。
 
》XOOPS.JP – ヘッドライン文字化け対策 xhld編
 
 

 


2024年11月
 123
45678910
11121314151617
18192021222324
252627282930  

Archives

Recommended