|
|
|
Помогите перекодировать rss сообщение "utf-8" "windows-1251"
|
|||
|---|---|---|---|
|
#18+
Всем привет! Я тут на днях взялся за RSS и который день воюю с кодировкой. XML файл у меня в кодировке UTF-8, а сайт windows-1251 Пробовал и XML файл писать с кодировкой windows-1251, но все равно информация выводится козябриками. Пробовал в рнр файле перед выводом информации вставлят функцию print incov("utf-8", "windows-1251", $content); Но фокус не прошел :) Подскажите, пожалуйста, как правильно написать функцию перекодирования! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 19:18 |
|
||
|
Помогите перекодировать rss сообщение "utf-8" "windows-1251"
|
|||
|---|---|---|---|
|
#18+
хм... Надо коды смотреть А нельзя сайт в UTF-8 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2007, 19:09 |
|
||
|
Помогите перекодировать rss сообщение "utf-8" "windows-1251"
|
|||
|---|---|---|---|
|
#18+
В принципе если в xml-е указана правильная кодировка, то это уже дело вьюера (рсс-ридера или браузера) отображать его в соответствии с тем что ему сказали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 10:39 |
|
||
|
Помогите перекодировать rss сообщение "utf-8" "windows-1251"
|
|||
|---|---|---|---|
|
#18+
Сайт,- вернее их несколько,- уже сделаны на win-1251... А вот с написанием функции перекодировки и возникают проблемы... у кого-нибудь есть опыт? Чем смогу - помогу!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 11:44 |
|
||
|
Помогите перекодировать rss сообщение "utf-8" "windows-1251"
|
|||
|---|---|---|---|
|
#18+
Код рнр обрабортчика могу выложить... он не очень большой <? set_time_limit(0); $file ="file.xml"; printDice(); function printDice() { $rss1=rand(1,4); // ротатор сайтов showrss($rss1); } // завершение prtintDice function showrss($value) { global $file; if ($value==1){ $file="http://111bazhin.com/rss/bazhin-com.xml"; } else if ($value==2){ $file="http://111bazhin.com/rss/amaltea.xml"; } else if ($value==3){ $file="http://111bazhin.com/rss/lider-club-com.xml"; } else if ($value==4){ $file="http://111bazhin.com/rss/mycalendar.xml"; } } // завершение showrss // $file = "http://111bazhin.com/rss/rss.xml"; $rss_channel = array(); $currently_writing = ""; $main = ""; $item_counter = 0; function startElement($parser, $name, $attrs) { global $rss_channel, $currently_writing, $main; switch($name) { case "RSS": case "RDF:RDF": case "ITEMS": $currently_writing = ""; break; case "CHANNEL": $main = "CHANNEL"; break; case "IMAGE": $main = "IMAGE"; $rss_channel["IMAGE"] = array(); break; case "ITEM": $main = "ITEMS"; break; default: $currently_writing = $name; break; } } function endElement($parser, $name) { global $rss_channel, $currently_writing, $item_counter; $currently_writing = ""; if ($name == "ITEM") { $item_counter++; } } function characterData($parser, $data) { global $rss_channel, $currently_writing, $main, $item_counter; if ($currently_writing != "") { switch($main) { case "CHANNEL": if (isset($rss_channel[$currently_writing])) { $rss_channel[$currently_writing] .= $data; } else { $rss_channel[$currently_writing] = $data; } break; case "IMAGE": if (isset($rss_channel[$main][$currently_writing])) { $rss_channel[$main][$currently_writing] .= $data; } else { $rss_channel[$main][$currently_writing] = $data; } break; case "ITEMS": if (isset($rss_channel[$main][$item_counter][$currently_writing])) { $rss_channel[$main][$item_counter][$currently_writing] .= $data; } else { //print ("rss_channel[$main][$item_counter][$currently_writing] = $data<br>"); $rss_channel[$main][$item_counter][$currently_writing] = $data; } break; } } } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); if (!($fp = fopen($file, "r"))) { die("could not open XML input"); } while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } xml_parser_free($xml_parser); // output as HTML $content =""; $content .="<div class=\"modul\">"; $content .="<table width=\"100%\" border=\"0\"><tr><td width=\"100%\">"; if (isset($rss_channel["IMAGE"])) { $content.="<a href=\"" . $rss_channel["LINK"] . "\" target=\"_blank\"><img border=\"0\" src=\"" . $rss_channel["IMAGE"]["URL"] . "\" align=\"middle\" alt=\"" . $rss_channel["IMAGE"]["TITLE"] . "\"></a> " . $rss_channel["TITLE"] . ""; } else { $content.= "" . $rss_channel["TITLE"] . " :: "; } $content.="" . $rss_channel["DESCRIPTION"] . "<br>"; if (isset($rss_channel["ITEMS"])) { if (count($rss_channel["ITEMS"]) > 0) { for($i = 0;$i < count($rss_channel["ITEMS"]);$i++) { $content.="<a href=\"" . $rss_channel["ITEMS"][$i]["LINK"] . "\" target=\"_blank\">" . $rss_channel["ITEMS"][$i]["TITLE"] . "</a><br>"; $content.="<div class=\"t_text\">" . html_entity_decode($rss_channel["ITEMS"][$i]["DESCRIPTION"]) . "</div>"; } } else { $content.="<b>Эта статья не найдена</b>"; } } $content .="<hr>"; $content .="</td></tr></table>"; $content .="</div>"; print $content; ?> ?> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 11:49 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=34691240&tid=1334214]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 366ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...