ребят такая трабла в общем,создаю бд mysql с кодировкой cp1251,беру rss с сайта в кодировке cp1251,но в базу попадают крокозяблы,как от этого избавится PHP: <?php echo $url = 'http://ithappens.ru/rss/'; //àäðåñ RSS ëåíòû $rss = simplexml_load_file($url); //Èíòåðïðåòèðóåò XML-ôàéë â îáúåêò echo iconv("UTF-8", "CP1251", "Ïîðà ïåðåõîäèòü íà þíèêîä."); mysql_connect("localhost","root","768768") or die("No connection"); mysql_select_db("rss") or die("oshibka podkly4enia"); mysql_query(" SET character_set_client=cp1251; SET character_set_connection=cp1251; SET character_set_database=cp1251; SET character_set_results=cp1251; SET character_set_server=cp1251; SET collation_connection=cp1251_general_ci; "); mysql_query('CREATE TABLE IF NOT EXISTS jos_rss3(id INT AUTO_INCREMENT PRIMARY KEY, jtitle TEXT, jpubdate TEXT, jdescription TEXT) DEFAULT CHARSET = cp1251') or die("Íåâîçìîæíî ñîçäàòü òàáëèöó"); foreach ($rss->channel->item as $item) { $jtitle=iconv("UTF-8","CP1251",'<strong>'.$item->title.'</strong><br>'); $jpubbate=iconv("UTF-8","CP1251",'<strong>'.$item->pubDate.'</strong><br>'); $jdescription=iconv("UTF-8","CP1251",$item->description);//âûâîäèì íà ïå÷àòü òåêñò ñòàòüè $a=iconv('UTF-8','WINDOWS-1251',$jdescription); $b=iconv('UTF-8','WINDOWS-1251',$jpubbate); $c=iconv('UTF-8','WINDOWS-1251',$jdescription); echo $c; sleep(0); mysql_query("INSERT INTO jos_rss3 (jtitle,jpubdate,jdescription) VALUES ('$a','$b','$c');") or die( mysql_error()); } $result=mysql_query('select * from jos_rss3 order by id DESC') or die("Îøèáêà èçâëå÷åíèÿ äàííûõ èç ÁÄ"); $row=array(); while($row=mysql_fetch_array($result)) { echo $row[jtitle]; echo $row[jpubdate]; echo $row[jdescription]; } sleep(2) ?>
Во-первых, mysql_query() не поддерживает множественных запросов - на каждый запрос должен быть свой вызов mysql_query(). Во-вторых, существует такая функция, как mysql_set_charset(). В-третьих, если берете из CP1251, пишете в CP1251, то на кой фиг в коде iconv()?
<?php echo $url = 'http://ithappens.ru/rss/'; //адрес RSS ленты $rss = simplexml_load_file($url); //Интерпретирует XML-файл в объект echo iconv("UTF-8", "CP1251", "???? ?? ??????"); //текст в utf-8 а на консоль выводит знаки "????? " sleep(10); mysql_connect("localhost","root","768768") or die("No connection"); mysql_select_db("rss") or die("oshibka podkly4enia"); mysql_set_charset("cp1251"); mysql_query('CREATE TABLE IF NOT EXISTS jos_rss3(id INT AUTO_INCREMENT PRIMARY KEY, jtitle TEXT, jpubdate TEXT, jdescription TEXT) DEFAULT CHARSET = cp1251') or die("Невозможно создать таблицу"); foreach ($rss->channel->item as $item) { $jtitle=$item->title; $jpubdate=$item->pubDate; $jdescription=$item->description;//выводим на печать текст статьи mysql_query("INSERT INTO jos_rss3 (jtitle,jpubdate,jdescription) VALUES ('$jtitle','$jpubbate','$jdescription');") or die( mysql_error()); } $result=mysql_query('select * from jos_rss3 order by id DESC') or die("Ошибкаизвлечения данных из БД"); $row=array(); while($row=mysql_fetch_array($result)) { echo $row[jtitle]; echo $row[jpubdate]; echo $row[jdescription]; } sleep(2) ?> Не рабит,ни как не вкурю в чем беда((((
Еще такой вопрос,возможно сохранить результат запроса из бд в переменную в скрипте?????если да то как? $result= mysql_query('select id from jos_rss where id=5') or die("ошибка"); $d=mysql_result($result);
http://ru.php.net/manual/en/function.mysql-fetch-array.php и иже с нею (mysql_fetch_*) У вас в вышеприведенном коде кусок PHP: while ($row = mysql_fetch_array ($result)) { echo $row['jtitle']; echo $row['jpubdate']; echo $row['jdescription']; } именно этим и занимается