Foros del Web » Programando para Internet » PHP »

Problema con Include y UTF-8

Estas en el tema de Problema con Include y UTF-8 en el foro de PHP en Foros del Web. Hola a todos, Creo que voy a solicitar ayuda para un tema bastante machacado ya, pero si abro este nuevo hilo, es debido a que ...
  #1 (permalink)  
Antiguo 06/01/2011, 14:23
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 14 años
Puntos: 4
Problema con Include y UTF-8

Hola a todos,

Creo que voy a solicitar ayuda para un tema bastante machacado ya, pero si abro este nuevo hilo, es debido a que no he logrado encontrar la solución.

He usado el buscador de ésta web y de otras muchas.... pero ya creo que estoy dando vueltas en círculo.

A ver, en el head de mi página, tengo declarado correctamente charset utf-8... los contenidos de dicha página se muestra perfecto.

El problema viene cuando hago un include('registros.php'); que todo el contenido que implemento en la página principal (index.php) se muestra como rombos con simbolos de interrogación, o caracteres raros...

en mi base de datos tengo todos los campos con la codificación utf8_spanish_ci, y da igual que lea o inserte datos, se insertan de ésta forma:

����� ���� áéÃ*óúÃÉÃÓÚ

Ayuda porfavor...
Gracias por adelantado.
  #2 (permalink)  
Antiguo 06/01/2011, 14:31
Avatar de Akiracr  
Fecha de Ingreso: septiembre-2006
Mensajes: 114
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: Problema con Include y UTF-8

Buenas compañero en tu cabecera tienes algo como esto:

header("Content-type: text/html; charset=UTF-8");

Si es así verifica la codificación de los archivos que tienen los archivos del include si es correcta.
__________________
http://www.maxmendez.net/
  #3 (permalink)  
Antiguo 06/01/2011, 14:43
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 14 años
Puntos: 4
Respuesta: Problema con Include y UTF-8

A ver, tengo lo siguiente:
INDEX.PHP:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
    <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
       <title><?php echo $titulo;?></title>
       <link href="<?php echo $img."favicon.ico";?>" type="image/x-icon" rel="shortcut icon" />
    </head>   
<body>

include('archivo2.php');

</body>
</html>

ARCHIVO2.PHP
Código PHP:

&#241;ñÑÑÑ
&#233;íóú
etc etc

y algunos datos mas sacados de mysql
con exactamente el mismo problema 
si cargo archivo2.php se ve bien, si cargo index.php, el contrenido de archivo2.php mediante el include, se ven rombos con interrogaciones y caracteres raros...

����� ��������� ��������� ��������� ����


qué hago mal? :(

Última edición por crash1912; 06/01/2011 a las 14:57
  #4 (permalink)  
Antiguo 06/01/2011, 15:18
Avatar de Akiracr  
Fecha de Ingreso: septiembre-2006
Mensajes: 114
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: Problema con Include y UTF-8

Pues bueno he probado tu ejemplo y realmente me pasa lo mismo pero la situación cambia si uso charset=iso-8859-1 como de esta forma:

Código PHP:
<?php  header("Content-type: text/html; charset=charset=iso-8859-1"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
    <head>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <title><?php echo $titulo;?></title>
       <link href="<?php echo $img."favicon.ico";?>" type="image/x-icon" rel="shortcut icon" />
    </head>   
<body>

<?php include('archivo2.php');?>

</body>
</html>

Código PHP:
&#241;ñÑÑÑ
&#233;íóú
etc etc

y algunos datos mas sacados de mysql
con exactamente el mismo problema 

De esta manera si funciona bien en tu caso usaría mejor la codificación iso y dejar de batallar con el problema
__________________
http://www.maxmendez.net/
  #5 (permalink)  
Antiguo 06/01/2011, 15:24
Avatar de Null_  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 530
Antigüedad: 16 años, 1 mes
Puntos: 30
Respuesta: Problema con Include y UTF-8

Si usas utf-8 en archivos PHP, ambos archivos debes guardarlos con la codificación UTF-8 sin BOM.
http://www.documentoweb.com/ISO-8859...-de-caracteres

Saludos.
__________________
Diego Escares
• Twitter: @diegoescares
• Web: diegoescares.com
  #6 (permalink)  
Antiguo 06/01/2011, 15:28
Avatar de Akiracr  
Fecha de Ingreso: septiembre-2006
Mensajes: 114
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: Problema con Include y UTF-8

Gracias Null_ por la mano recomendé verificar esto y yo mismo no lo hice ;)
__________________
http://www.maxmendez.net/
  #7 (permalink)  
Antiguo 06/01/2011, 16:09
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 14 años
Puntos: 4
Respuesta: Problema con Include y UTF-8

Cita:
Iniciado por Akiracr Ver Mensaje
Buenas compañero en tu cabecera tienes algo como esto:

header("Content-type: text/html; charset=UTF-8");

Si es así verifica la codificación de los archivos que tienen los archivos del include si es correcta.
Veo que me respondiste bien aunque no supe interpretar tu respuesta, muchas gracias amigo!


Cita:
Iniciado por Null_ Ver Mensaje
Si usas utf-8 en archivos PHP, ambos archivos debes guardarlos con la codificación UTF-8 sin BOM.
[url]http://www.documentoweb.com/ISO-8859-1-y-UTF-8-Solucion-al-problema-de-codificacion-de-caracteres[/url]

Saludos.
lo siento por la siguiente expresión:

EL PUTO AMO

Gracias!
  #8 (permalink)  
Antiguo 06/01/2011, 16:25
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Respuesta: Problema con Include y UTF-8

Te servira esta funntion...



Código PHP:
Ver original
  1. function acentos($cadena)
  2.  
  3.       {
  4.  
  5.          $search = explode(",","á,é,í,ó,ú,ñ,Á,É,Í,Ó,Ú,Ñ,á,é,í,ó,ú,ñ,Ãá,Ãé,Ãí,Ãó,Ãú,Ãñ,Ó,à ,É,à ,Ú,“,†,¿,ü");
  6.  
  7.          $replace = explode(",","á,é,í,ó,ú,ñ,Á,É,Í,Ó,Ú,Ñ,á,é,í,ó,ú,ñ,Á,É,Í,Ó,Ú,Ñ,Ó,Á,É,Í,Ú,\",\",¿,&uuml;");
  8.  
  9.          $cadena= str_replace($search, $replace, $cadena);
  10.  
  11.        
  12.  
  13.          return $cadena;
  14.  
  15.       }



Saludos,
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #9 (permalink)  
Antiguo 06/01/2011, 16:27
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 14 años
Puntos: 4
Respuesta: Problema con Include y UTF-8

Cita:
Iniciado por Potro Ver Mensaje
Te servira esta funntion...



Código PHP:
Ver original
  1. function acentos($cadena)
  2.  
  3.       {
  4.  
  5.          $search = explode(",","á,é,í,ó,ú,ñ,Á,É,Í,Ó,Ú,Ñ,á,é,Ã*,ó,ú,ñ,Ãá,Ãé,ÃÃ*,Ãó,Ãú,Ãñ,Ó,à ,É,à ,Ú,“,†,¿,ü");
  6.  
  7.          $replace = explode(",","á,é,í,ó,ú,ñ,Á,É,Í,Ó,Ú,Ñ,á,é,í,ó,ú,ñ,Á,É,Í,Ó,Ú,Ñ,Ó,Á,É,Í,Ú,\",\",¿,&uuml;");
  8.  
  9.          $cadena= str_replace($search, $replace, $cadena);
  10.  
  11.        
  12.  
  13.          return $cadena;
  14.  
  15.       }



Saludos,
Amigo, ya lo resolvieron un poco mas arriba de una manera muy facil y eficaz, pero la funcion que acabas de postear me servirá para otras cosillas, jeje, muchas gracias también a ti amigo ;)

Un Saludo
  #10 (permalink)  
Antiguo 06/01/2011, 16:35
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 14 años
Puntos: 4
Respuesta: Problema con Include y UTF-8

Cita:
Iniciado por Null_ Ver Mensaje
Si usas utf-8 en archivos PHP, ambos archivos debes guardarlos con la codificación UTF-8 sin BOM.
[url]http://www.documentoweb.com/ISO-8859-1-y-UTF-8-Solucion-al-problema-de-codificacion-de-caracteres[/url]

Saludos.
se te ocurre alguna forma de hacerlo de alguna forma rápida para unos 150 archivos que llevo programados para mi web?? xDD
  #11 (permalink)  
Antiguo 08/01/2011, 15:02
Avatar de Null_  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 530
Antigüedad: 16 años, 1 mes
Puntos: 30
Respuesta: Problema con Include y UTF-8

Cita:
Iniciado por crash1912 Ver Mensaje
se te ocurre alguna forma de hacerlo de alguna forma rápida para unos 150 archivos que llevo programados para mi web?? xDD
no jaja.
Sin son 150 archivos en un principio deberías haber considerado poner los textos en una base de datos, así te ahorrarías todo este rollo :P
__________________
Diego Escares
• Twitter: @diegoescares
• Web: diegoescares.com
  #12 (permalink)  
Antiguo 18/01/2011, 14:16
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 14 años
Puntos: 4
Respuesta: Problema con Include y UTF-8

Cita:
Iniciado por Null_ Ver Mensaje
no jaja.
Sin son 150 archivos en un principio deberías haber considerado poner los textos en una base de datos, así te ahorrarías todo este rollo :P
jeje, la cosa es que los textos estan en la base de datos desde el principio, realmente no necesitaba actualizar todos los archivos, solo algunos, pero para prevenir futuros fallos, he actualizado todos... uno a uno :( pero bueno, pusiste fin a un quebradero de cabeza y ya estoy trabajando todos los archivos con la codificación correcta.

Muchas gracias! ;)

Etiquetas: include, utf
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 22:38.