Foros del Web » Programando para Internet » PHP »

¿cómo se usa la función utf8_decode?

Estas en el tema de ¿cómo se usa la función utf8_decode? en el foro de PHP en Foros del Web. Hola. Llevo varios días buscando la forma de usar esta función( utf8_decode ), pero tengo poca idea de php y algo hago mal ya que ...
  #1 (permalink)  
Antiguo 13/11/2007, 06:01
 
Fecha de Ingreso: julio-2006
Ubicación: España
Mensajes: 29
Antigüedad: 18 años, 4 meses
Puntos: 0
¿cómo se usa la función utf8_decode?

Hola.

Llevo varios días buscando la forma de usar esta función(utf8_decode), pero tengo poca idea de php y algo hago mal ya que no muestra nada.

Lo que quiero hacer es una consulta a la base de datos de mi blog (wordpress) para mostrar los últimos posts en una página aparte. El código que estoy usando es este:

Código PHP:
<?php require_once("/ruta/wp-config.php"); ?>

<?php $my_query = new WP_Query('showposts=5');
  while (
$my_query->have_posts()) : $my_query->the_post();
  
$do_not_duplicate $post->ID?>
  
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a> 
<?php the_time('j/m/y'?>
<?php the_excerpt
(); ?>


<?php endwhile; ?>
Todo funciona bien menos los dichosos caracteres. Me devuelve caracteres extraños en lugar de acentos y eñes.

He buscado y rebuscado en este foro y otras páginas, la oficial de php, etc. y creo que con utf8_decode podría solucionarlo, pero no consigo hacer que funcione. He mirado la base de datos de wordpress de la que saco los datos y están cotejados en latin1_swedish_ci y la página en la que quiero que salgan los datos está en utf8.

Lo que pongo es algo como esto pero no funciona:

Código PHP:
<?php echo utf8_decode($excerpt); ?>
Alguien sabría decirme porqué o cómo hacer que salgan los caracteres normales?

Un saludo y mil gracias.
  #2 (permalink)  
Antiguo 13/11/2007, 06:26
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 10 meses
Puntos: 13
Re: ¿cómo se usa la función utf8_decode?

utf8_decode() es para transformar de UTF-8 a ISO-8859-1, utf8_encode() es para transformar de ISO-8859-1 a UTF-8.
__________________
El conocimiento es libre: Movimiento por la Devolución
  #3 (permalink)  
Antiguo 13/11/2007, 06:35
 
Fecha de Ingreso: julio-2006
Ubicación: España
Mensajes: 29
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: ¿cómo se usa la función utf8_decode?

Gracias por contestar frijolerou.

Entiendo entonces que debo usar utf8_enconde y no lo que estaba planteando.

Lo que pasa es que sigo sin saber usar esta función, intento poner esto:

Código PHP:
<?php echo utf8_encode($excerpt); ?>
Y no me devuelve ningún resultado, es como si no hubiera escrito nada.

¿Alguien sabe como se hace?

Gracias.
  #4 (permalink)  
Antiguo 13/11/2007, 15:58
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 11 meses
Puntos: 22
Re: ¿cómo se usa la función utf8_decode?

El problema que tu seguramente ya tienes guardado en la base de datos te sugiero que al momento de guardarlo uses: $variable = utf8_decode($_POST['tucampo']);

y al momento de guardarlo uses: echo htmlentities($row['tucampo']);

Saludos.
  #5 (permalink)  
Antiguo 13/11/2007, 19:02
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 10 meses
Puntos: 13
Re: ¿cómo se usa la función utf8_decode?

pelushe:

En ese caso vas a tener que meterle mano a la función the_excerpt(). tienes que buscar entre todos los archivos de WP donde se encuentra definida esta función; en la última línea debiera tener un echo $algo, es ahí donde debes aplicar la función utf8_encode.

Hace tiempo no uso WP,así que no sabría decirte específicamente cuál es el archivo que debes modificar.
__________________
El conocimiento es libre: Movimiento por la Devolución
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 12:59.