症状
ZenCartのサーバ移転の際に、DBは文字化けなく、移行出来たのですが、サイトや管理画面上の出力に、文字化けが出たので、その解決策です。
解決方法
以下の通り修正します。
修正する箇所
/includes/classes/db/mysql/query_factory.phpの35行目あたり
[php]/includes/classes/db/mysql/query_factory…
simplexml_load_fileとは
simplexml_load_fileは、PHP5から利用可能になった関数で、XMLをパースしてオブジェクトに代入します。
今回は、オープンソースのECサイト構築システム「ZenCart」に外部ブログ(WordPress)のRSSを表示させてみました。
設置コード
<?php $rss = "http://apr20.net/feed/"; $xml = simplexml_load_file($rss); foreach($xml->channel->item as $itemValue){ //zencartなど、EUCにエンコードする必要がある場合は、出力前にエンコードする $title = mb_convert_encoding($itemValue->title, 'EUC-JP', 'UTF-8'); echo '<li>'.date('m月d日', strtotime($itemValue->pubDate)).' <a href="'.$itemValue->link.'" target="_blank">'.$title.'</a></li>'; } ?>
上記コード内でコメントがついている行は、ZenCart用にEUCに変換しているだけなので、UTF-8の場合は、エンコードの必要はありません。
また、strtotime関数を使って、RSSのpubDateを「m月d日」の形に変換しています。変換前のpubDateは以下のような形式で出力されています。
[pubDate] => Sun, 05 Feb 2012 06:46:02 +0000
この投稿へのコメント
コメントはまだありません。