Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PHP (http://www.forosdelweb.com/f18/)
-   -   Problema con caracteres (http://www.forosdelweb.com/f18/problema-con-caracteres-516040/)

Lachi 31/08/2007 12:58

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

nicolaspar 31/08/2007 13:08

Re: Problema con caracteres
 
El tema es que debe estar en utf8, intenta pasando el string ese por funciones como utf8_decode

Lachi 04/09/2007 13:52

Re: Problema con caracteres
 
Cita:

Iniciado por nicolaspar (Mensaje 2115518)
El tema es que debe estar en utf8, intenta pasando el string ese por funciones como utf8_decode


Probe con casi todos los scripts de la pagina y ninguna me dio resultado. :'(

Alguien sabe como lo puedo solucionar, para que se vean bien todos los caracteres?

Merter 05/09/2007 09:07

Re: Problema con caracteres
 
Mira este post, y deberas indicar la codificación.

http://www.forosdelweb.com/f18/leer-rss-con-php-388826/


los campos deberás escribirlos así,

utf8_decode($rss_channel["ITEMS"][$i]["DESCRIPTION"])


La verdad que no tengo ni idea y tambien estoy buscando información, las funciones para php 5.1 como "simplexml_load_file " no me funciona con archivos externos a mi sevidor, y lo unico que he conseguido hacer correr es el anterior script.

Aprovecho para ver si alguien me puede indicar como puedo solo mostrar los Items que tenga un campo (ej: description) que incluya determinada palabra.

nicolaspar 05/09/2007 09:19

Re: Problema con caracteres
 
No se porque se complican la vida tratando con php, habiendo lectores de rss desde js que se adaptan mejor (desde usando la api de google, hasta ajax con jQuery y su funcion ajax>load)

Merter 05/09/2007 10:10

Re: Problema con caracteres
 
Le echare un vistazo, pero alguien me puede orientar de como filtrar los resultados por una palabra clave en el anterior script o en el que yo hago referencia, me lio con las funciones y no se donde meterle mano.


La zona horaria es GMT -6. Ahora son las 03:31.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.