Comunidad de diseño web y desarrollo en internet online

Problema con carácteres especiales al cargar de la BBDD

Citar            
MensajeEscrito el 16 Sep 2011 11:42 am
Ante todo, muchas gracias por el tiempo que dediqueis a este post.

Tengo un problema y la verdad es que no veo el error, todas mis paginas estan con:
content="text/html; charset=ISO-8859-

y la base de datos con la que tengo problemas en : latin1_spanish_ci

con esta configuración no tenia problemas en mi web, pero al cargar una pestaña con ajax no me reconoce los caracteres especiales.
Ahora viene lo que no comprendo y es que lo que cargo en esta pestaña, también lo cargo en un recuadro, a modo de resumen, en el indice y en el resumen si que reconoce los carácteres.

Os pego el codigo a continuación (la parte de la conexion a la base de datos la omito, pero funciona correctamente).

Código que cargo con ajax, actuaciones.php:

<link href="HojaStilos.css" rel="stylesheet" type="text/css">

<br>
<table width="850px">
<tr><td><h3>Properes actuacions</h3><br></td></tr>
</table>

<table width="850px">
<tr><td class="titol" width="55px">2011</td><td width="745px" valign="bottom" align="right"><img height="1px" width="745px" src="barrainferior.jpg"/></td></tr>
</table>
<?
//Conexión a la BBDD//

$consulta = mysql_query("SELECT * FROM `Actuacions` ORDER BY `ID`");
?>
<table width="850px" cellpadding="3px">

<?
while($fila = mysql_fetch_array($consulta)){
echo "<tr><td width=70 class=blau> ".$fila['Dia']."/".$fila['Mes']."</td>
<td width=auto class=negre3>".$fila['Hora']." </td>
<td width=auto class=negre3> ".$fila['Ciutat']." </td>
<td width=auto class=negre3> ".$fila['Lloc']."</td>
<td width=auto class=negre3> ".$fila['Direccio']."</td>
<td width=150 class=blau align=right>
<a target=_blank href=".$fila['URL']."> veure mapa >> </a></td></tr>
";
}
?>


<tr><td height="150px"></td></tr>
</table>

Aunque le ponga el
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-" />
sigue dando el mismo problema y con la codificacion UTF-8 es peor.

Por Kmx

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Sep 2011 12:43 pm
Lo que sucede es que todas las peticiones Ajax son en UTF-8, es así por diseño. Si en tu página le dices al navegador que use la codificación iso-8859-1 cuando muestras contenido obtenido mediante Ajax, que viene un UTF-8 pasa lo que has descrito.

Ahora bien, no hay ninguna razón para no usar UTF-8 en todas partes, así que mi consejo es que pases todo lo que tienes a UTF-8, incluyendo la base de datos (utf8_general_ci en MySQL).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 16 Sep 2011 02:05 pm
Muchas gracias, la verdad es que ya habia probado de pasarlo todo a utf-9 pero me salia toda la web mal, por lo que deduje que el servidor no lo soportaba...

voy a volver a probar por si me deje alguna parte.

Por Kmx

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Sep 2011 03:33 pm
Si tu servidor es Apache puedes usar el .htaccess para forzar a que entregue el contenido en UTF-8 agregando la línea:

Código :

AddDefaultCharset UTF-8
AddCharset UTF8 .php

al .htaccess

Debes tener en cuenta que el editor que uses para escribir el código HTML (y PHP y JS) también tiene que guardar los archivos en UTF-8 sin BOM.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

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