Foros del Web » Programando para Internet » PHP »

Cómo insertar datos de una base de datos utf-8 dentro de una página con iso-8859-1

Estas en el tema de Cómo insertar datos de una base de datos utf-8 dentro de una página con iso-8859-1 en el foro de PHP en Foros del Web. Hola. Quiero insertar posts de un blog WordPress en mi página principal. Todo funcionaba bien cuando la página estaba en charset=utf-8, pero por problemas de ...
  #1 (permalink)  
Antiguo 23/08/2012, 04:47
Avatar de mahuro  
Fecha de Ingreso: abril-2006
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Pregunta Cómo insertar datos de una base de datos utf-8 dentro de una página con iso-8859-1

Hola.

Quiero insertar posts de un blog WordPress en mi página principal. Todo funcionaba bien cuando la página estaba en charset=utf-8, pero por problemas de posicionamiento interpretación de Google la he cambiado a iso-8859-1 y ahora las tildes, las ñ y demás caracteres "raros" de los posts no se ven bien.

He probado con:

Código:
------------------
setlocale(LC_ALL,"[email protected]","es_ES.UTF-8","esp");

y

setlocale(LC_ALL,"[email protected]","iso-8859-1","esp");

________________________
para invocar los datos:

<?php the_excerpt(); ?>

<?php iconv('UTF-8', 'ISO-8859-1',  the_excerpt()); ?>

<?php iconv('ISO-8859-1', 'UTF-8',  the_excerpt()); ?>

<?php utf8_decode(the_excerpt()); ?>

<?php utf8_encode(the_excerpt()); ?>

<?php iconv('ISO-8859-1', 'UTF-8', utf8_decode(the_excerpt()) ); ?>

<?php iconv('UTF-8', 'ISO-8859-1', utf8_encode(the_excerpt()) ); ?>
Todas estas opciones me dado el mismo resultado ("página").

Así que os hago la pregunta ¿Cómo puedo hacer para que interprete bien esa codificación utf-8 dentro de la página iso-8859-1

Gracias ;)
  #2 (permalink)  
Antiguo 23/08/2012, 05:26
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cómo insertar datos de una base de datos utf-8 dentro de una página con is

utf_encode uft_decode

http://es.php.net/manual/es/function.utf8-encode.php
http://es.php.net/manual/es/function.utf8-decode.php
  #3 (permalink)  
Antiguo 23/08/2012, 09:12
Avatar de mahuro  
Fecha de Ingreso: abril-2006
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Cómo insertar datos de una base de datos utf-8 dentro de una página con is

Webankenobi, Gracias.

Eso ya lo había mirado, de hecho, incluso lo he probado (tal y como se puede ver en el código que adjunto en el primer post) pero no furula.

desde la lógica elemental de un batracio como yo, parece que lo normal sería pensar que si la db está en utf-8, el WP está en utf-8 y la web donde se muestran los resultados está en iso-8859-1 utf8_decode($cosa) debería funcionar, pero no muestra los caracteres latinos tipo ñ y tildes correctamente.

Incluso he probado a
Código:
$cosa = the_excerpt(); echo utf_8decode($cosa);
por si el problema estaba en que utf8_decode no funcionara con funciones, pero ni caso.

La cosa es que me extraña que utf8_decode() no produzca ningun cambio en el texto de salida.
  #4 (permalink)  
Antiguo 23/08/2012, 10:38
 
Fecha de Ingreso: julio-2012
Ubicación: Girona
Mensajes: 63
Antigüedad: 9 años, 10 meses
Puntos: 10
Respuesta: Cómo insertar datos de una base de datos utf-8 dentro de una página con is

yo cuando tengo que hacer una conversión, utilizo la funcion mb_convert_encoding
Código PHP:
Ver original
  1. $cosa=mb_convert_encoding ($cosa , $codificacion_destino, [, $codificacion_origen ] );
te dejo un link con más información:

http://php.net/manual/en/function.mb...t-encoding.php
__________________
Por favor utilizad HIGHLIGHTS en los códigos insertados para que sean más legibles
  #5 (permalink)  
Antiguo 23/08/2012, 12:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 13 años
Puntos: 1517
Respuesta: Cómo insertar datos de una base de datos utf-8 dentro de una página con is

Trata de verificar primeramente si el dato está en utf-8 usa mb_detect_encoding y con lo demas puedes usar la función que te recomendaron, yo en especial uso la que sgomez te indicó.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 23/08/2012, 12:59
Avatar de mahuro  
Fecha de Ingreso: abril-2006
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Cómo insertar datos de una base de datos utf-8 dentro de una página con is

Gracias sgomez, pero no way, man :(

El caso es que a un tío por ahí con el mismo problema le ha funcionado, pero a mi no.

Corto por lo sano porque no puedo dedicarle más tiempo a este problema. charset=UTF-8 y a "jhuí" como se dice por Huelva.

Gracias.
  #7 (permalink)  
Antiguo 23/08/2012, 13:05
Avatar de mahuro  
Fecha de Ingreso: abril-2006
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Cómo insertar datos de una base de datos utf-8 dentro de una página con is

Cita:
Iniciado por abimaelrc Ver Mensaje
Trata de verificar primeramente si el dato está en utf-8 usa [URL="http://www.php.net/manual/en/function.mb-detect-encoding.php"]mb_detect_encoding[/URL] y con lo demas puedes usar la función que te recomendaron, yo en especial uso la que sgomez te indicó.
Jupes! me devuelve ASCII :(

Si saco tiempo (que ahora no tengo) pruebo las soluciones de sgomez y abimaelrc y os cuento. Creo que los tiros van por ahí ;)

Gracias de nuevo.

Etiquetas: iso-8859-1, página, utf-8
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 11:13.