Foros del Web » Programando para Internet » PHP »

Problema con caracteres

Estas en el tema de Problema con caracteres en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 31/08/2007, 12:58
 
Fecha de Ingreso: junio-2004
Ubicación: Villa Carlos Paz
Mensajes: 88
Antigüedad: 19 años, 10 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
  #2 (permalink)  
Antiguo 31/08/2007, 13:08
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Problema con caracteres

El tema es que debe estar en utf8, intenta pasando el string ese por funciones como utf8_decode
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 04/09/2007, 13:52
 
Fecha de Ingreso: junio-2004
Ubicación: Villa Carlos Paz
Mensajes: 88
Antigüedad: 19 años, 10 meses
Puntos: 2
Re: Problema con caracteres

Cita:
Iniciado por nicolaspar Ver Mensaje
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?
  #4 (permalink)  
Antiguo 05/09/2007, 09:07
 
Fecha de Ingreso: septiembre-2003
Mensajes: 38
Antigüedad: 20 años, 7 meses
Puntos: 0
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.
  #5 (permalink)  
Antiguo 05/09/2007, 09:19
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
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)
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 05/09/2007, 10:10
 
Fecha de Ingreso: septiembre-2003
Mensajes: 38
Antigüedad: 20 años, 7 meses
Puntos: 0
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.

Última edición por Merter; 05/09/2007 a las 10:17
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:19.