Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2007, 12:58
Lachi
 
Fecha de Ingreso: junio-2004
Ubicación: Villa Carlos Paz
Mensajes: 88
Antigüedad: 19 años, 11 meses
Puntos: 2
Problema con caracteres

Hola Gente!! Despues de mucho buscar encontre este parser en php, para poner noticias RSS en mi sitio.
Pero el problema esta en que cuando las noticias tienen eñes o acentos me los muestra como caracteres raros. Quiero saber como puedo solucionarlo.
Me vendria barbaro si alguno me puede ayudar.

Codigo:

<?php

$insideitem = false;
$tag = "";
$title = "";
$description = "";
$link = "";

function startElement($parser, $name, $attrs) {
global $insideitem, $tag, $title, $description, $link;
if ($insideitem) {
$tag = $name;
} elseif ($name == "ITEM") {
$insideitem = true;
}
}

function endElement($parser, $name) {
global $insideitem, $tag, $title, $description, $link;
if ($name == "ITEM") {
printf("<dt><b><a href='%s'>%s</a></b></dt>",
trim($link),htmlspecialchars(trim($title)));
printf("<dd>%s</dd>",htmlspecialchars(trim($description)));
$title = "";
$description = "";
$link = "";
$insideitem = false;
}
}

function characterData($parser, $data) {
global $insideitem, $tag, $title, $description, $link;
if ($insideitem) {
switch ($tag) {
case "TITLE":
$title .= $data;
break;
case "DESCRIPTION":
$description .= $data;

break;
case "LINK":
$link .= $data;
break;
}
}
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
$fp = fopen("http://www.lanacion.com.ar/herramientas/rss/index.asp?origen=2","r")
or die("Error reading RSS data.");
while ($data = fread($fp, 4096))
xml_parse($xml_parser, $data, feof($fp))
or die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);

?>

Saludos :D