プロが教えるわが家の防犯対策術!

PHP初心者で今勉強しているのですが、入門書に書かれたサンプルソースが実行すると文字化けします。以下です。
<html>
<head>
<title>RSSフィードの読み込み</title>
</head>
<body>
<h1 style="background:#cccccc">RSSフィードの読み込み</h1>
<?php
require_once("rss_fetch.inc");
$objXml=simplexml_load_file("rss.xml");
foreach($objXml->site as $site) {
$objRss=fetch_rss($site->url);
mb_convert_variables("EUC-JP","auto",$objRss);
?>
<dl>
<dt style="font-weight:bold;"><?php
if(!is_null($site->title) && $site->title!=""){
print(mb_convert_encoding($site->title,"EUC-JP","auto"));
}else{
print($objRss->channel['title']);
}?></dt>
<dd>
<ol>
<?php foreach ($objRss->items as $item){ ?>
<li>
<a href='<?php print($item['link']);?>'>
<?php print($item['title']); ?></a>
</li>
<?php } ?>
</ol>
</dd>
</dl>
<hr />
<?php
}
?>
</body>
</html>

mb_convert_encodingの所は変換出来てるのですが、mb_convert_variablesで変換したリストの所だけ文字化けします。

php.iniとか見ても多分出来てるようなのですが、わかる方すいませんが宜しくお願いします。

A 回答 (2件)

ブラウザが他の文字コードで表示してるということは無いですか?


試しに、<head>~</hrad>内に以下の記述を入れてみてください。

<meta http-equiv="Content-Type" content="text/html; euc-jp">
    • good
    • 1
この回答へのお礼

<meta http-equiv="Content-Type" content="text/html; euc-jp">
も入れてました。

でもできず・・。

でもphp.iniとhttpd.confを適当にいじってたら出来てました。

すいません。ありがとうございます。

お礼日時:2008/10/17 11:30

$objRssのエンコーディングが分かっているのならばautoではなく直接指定してやればどうでしょうか。

    • good
    • 0
この回答へのお礼

多分返ってくるのはUTF-8なのだと思うので設定したけどダメでした。。全部??になるんです。

お礼日時:2008/10/15 22:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!