Problemas tilde en PHP.

Iniciado por .:UND3R:., 24 Julio 2012, 23:02 PM

0 Miembros y 1 Visitante están viendo este tema.

.:UND3R:.

Hola a todos tengo el siguiente lector de RSS de facebook, este funciona la perfección, el problema es que los tildes no me los muestra correctamente, ¿alguien podría echarme una mano?

Código (php) [Seleccionar]
<?php
    
// Without this "ini_set" Facebook's RSS url is all screwy for reading!
    // This is the most essential line, don't forget it.
    
ini_set('user_agent''Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9');
 
    
// This URL is the URL to the Facebook Page's RSS feed.
    // Go to the page's profile, and on the left-hand side click "Get Updates vis RSS"
    
$rssUrl "http://www.facebook.com/feeds/notifications.php?id=319579974767006&viewer=1074983523&key=AWhjAKL7r9fCfZlH&format=rss20";
    
$xml simplexml_load_file($rssUrl); // Load the XML file

    // This creates an array called "entry" that puts each <item> in FB's
    // XML format into the array
    
$entry $xml->channel->item;
 
    
// This is just a blank string I create to add to as I loop through our
    // FB feed. Feel free to format however you want, or do whatever else
    // you want with the data.
    
$returnMarkup '';
 
    
// Now we'll loop through are array. I just have it going up to 3 items
    // for this example.
    
for ($i 0$i 3$i++) {
        
//$returnMarkup .= "<h3>".$entry[$i]->title."</h3>"; // Title of the update
        //$returnMarkup .= "<p>".$entry[$i]->link."</p>"; // Link to the update
        
$returnMarkup .= "<p>".$entry[$i]->description."</p>"// Full content
        //$returnMarkup .= "<p>".$entry[$i]->pubDate."</p>"; // The date published
        
$returnMarkup .= "<p>".$entry[$i]->author."</p>"// The author (Page Title)
    
}
 
    
// Finally, we return (or in this case echo) our formatted string with our
    // Facebook page feed data in it!
    
echo $returnMarkup;
?>


Saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Spider-Net

Tiene que ver con la codificación. Lo ideal es que cambies la codificación de utf-8 a ISO-8859-1. Otra solución que debería funcionar es usar htmlentities cuando vayas a mostrar la información, algo así:

Código (php) [Seleccionar]
for ($i = 0; $i < 3; $i++) {
        //$returnMarkup .= "<h3>".$entry[$i]->title."</h3>"; // Title of the update
        //$returnMarkup .= "<p>".$entry[$i]->link."</p>"; // Link to the update
        $returnMarkup .= "<p>".htmlentities($entry[$i]->description)."</p>"; // Full content
        //$returnMarkup .= "<p>".$entry[$i]->pubDate."</p>"; // The date published
        $returnMarkup .= "<p>".htmlentities($entry[$i]->author)."</p>"; // The author (Page Title)
}

.:UND3R:.

#2
Cita de: Spider-Net en 24 Julio 2012, 23:58 PM
Tiene que ver con la codificación. Lo ideal es que cambies la codificación de utf-8 a ISO-8859-1. Otra solución que debería funcionar es usar htmlentities cuando vayas a mostrar la información, algo así:

Código (php) [Seleccionar]
for ($i = 0; $i < 3; $i++) {
       //$returnMarkup .= "<h3>".$entry[$i]->title."</h3>"; // Title of the update
       //$returnMarkup .= "<p>".$entry[$i]->link."</p>"; // Link to the update
       $returnMarkup .= "<p>".htmlentities($entry[$i]->description)."</p>"; // Full content
       //$returnMarkup .= "<p>".$entry[$i]->pubDate."</p>"; // The date published
       $returnMarkup .= "<p>".htmlentities($entry[$i]->author)."</p>"; // The author (Page Title)
}


Gracias por tu respuesta, pero htmlentities me devuelve el código en texto plano (lo bueno es que con tildes), que podría hacer?

Modifiqué la codificación con header(), también he hecho un echo con
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> y tampoco nada, a ver quien me ayuda, saludos

SOLUCIONADO: utf8_decode();

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)