Comunidad de diseño web y desarrollo en internet online

Caracteres especiales al requerir o incluir un archivo

Citar            
MensajeEscrito el 23 May 2008 03:16 pm
Muy buenas, tengo un archivo PHP que incluye otros dos con require("/carpeta/archivo.php"); . Lo malo es que si tienen caracteres especiales, se convierten en ó, é y otros símbolos extraños. ¿Cómo evito esto, sin poner las entidades (&eeacute y demás) correspondientes? ¿La codificación se indica en algún sitio?

Por Juanlu_001

Claber

690 de clabLevel

6 tutoriales

 

firefox
Citar            
MensajeEscrito el 23 May 2008 04:26 pm
Juanlu,

Especifica la codificación en la cabecera...

Código :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><title>-:: GTDF Design ::-</title>
<!-- CODIFICACION UTF-8 //-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

[...]

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 23 May 2008 04:44 pm
Eso ya lo he hecho, lo que pasa es que no siempre es posible porque a veces los archivos a importar son fragmentos de código sin cabeceras :S

Por Juanlu_001

Claber

690 de clabLevel

6 tutoriales

 

firefox
Citar            
MensajeEscrito el 23 May 2008 05:38 pm
Sí estás utilizando include() o require(), es verdad, no deberías especificar nada dentro de los archivos requeridos ya que obtienen los parámetros de la página "padre"

Código :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><title>TITULO</title>
<!-- CODIFICACION UTF-8 //-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
#el siguiente archivo toma como referencia la cabecera del archivo PHP actual
include('includes/archivo.php');
?>
</body>
</html>



Entonces ¿Por qué da error?

¿Probaste con charset=iso-8859-1?

¿Y sí ponés, en el archivo a incluir, el siguiente header?:

Código :


header('Content-Type: text/html ; charset=UTF-8');

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 23 May 2008 08:42 pm
Funcionó!!

Muchas gracias!! :)

Por Juanlu_001

Claber

690 de clabLevel

6 tutoriales

 

firefox
Citar            
MensajeEscrito el 30 Jul 2008 03:51 pm
No tan rápido forastero. :lol:
Tengo el mismo problema y nada ocurre al incluir el header en la página a incluir, porsupuesto eliminé todas las etiquetas html, head y body... y ni aún así.

Espero que me puedan ofrecer otra solución. Gracias

Por JackSpy

3 de clabLevel



Genero:Masculino  

Sevilla

firefox
Citar            
MensajeEscrito el 30 Jul 2008 03:59 pm
Solucionado.
Perdón, no había probado a juntar ambas soluciones, usar el header con la codificación ISO.
Muchas Gracias. :)

Por JackSpy

3 de clabLevel



Genero:Masculino  

Sevilla

firefox
Citar            
MensajeEscrito el 30 Jul 2008 04:00 pm
Hace poco caí en cuenta de que el problema también deriva en la codificación del archivo.
Si el meta es <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">, entonces los archivos deberán estar codificados en UTF-8. si es en ISO-8859-1 los archivos deberán codificarse en ANSI.

Entonces ¿De dónde se configura esto? Pues bien, en Windows, abres el archivo PHP/HTML/ASP/etc... con el editor de text predeterminado del sistema (bloc de notas) y luego Archivo>guardar como. Allí buscas la opción "Codificación" y eliges el tipo.

Pruebas y me dices

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

mozilla
Citar            
MensajeEscrito el 30 Jul 2008 04:21 pm
Perfecto Necrophasto,
No había reparado en que sí, efectivamente, los caracteres especiales de mi página incluida estában reparados, ahora los que estaban mal eran los de la página que contiene el include.

Sin lugar a dudas, esa es la solución. No basta con indecarle en el header la codificación, sino que el archivo como debería ser ovbio tendrá que estár en dicha codificación. En este caso UTF-8.

Muchas Gracias. Te debo la vida Necrophasto. :lol:

Por JackSpy

3 de clabLevel



Genero:Masculino  

Sevilla

firefox
Citar            
MensajeEscrito el 30 Jul 2008 04:29 pm
¡Your soul is mine! Jojo

Exitos!

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

mozilla
Citar            
MensajeEscrito el 17 May 2012 12:35 pm

Necrophasto escribió:

Entonces ¿De dónde se configura esto? Pues bien, en Windows, abres el archivo PHP/HTML/ASP/etc... con el editor de text predeterminado del sistema (bloc de notas) y luego Archivo>guardar como. Allí buscas la opción "Codificación" y eliges el tipo.


Cuatro años después, me salvaste el día. Gracias.

Por elmaluf

Claber

243 de clabLevel

2 tutoriales

 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.