Cambio de caracteres al incluir librerias php

Me pasa una cosa curiosa:

Tengo una aplicación web realizada en php, tengo unos cuantos ficheros a modo de librerias php en el que contengo exclusivamente funciones que se utilizan en otras partes de la aplicación, bien pues resulta que al incluir dicha librería en un fichero php las líneas siguientes que contienen caracteres "especiales" (acentos), salen mal.

Por ejemplo:

Inicio.php:

¿

<?php

include_once 'librerias/libFotografia.php';

...

...

¿

?>

Mes del álbum<br>

¿

<?php

...

¿

?>

Si la línea include, está comentada, "Mes del álbum", sale correctamente, si está activa, como ahora, el texto "álbum", la "a" sale con símbolo raro.

Ya digo, "libFotografia.php", solo contiene functions.

¿Alguna idea de lo que puede ocurrir y cómo solucionarlo?

2 Respuestas

Respuesta

Intenta con la siguiente instrucción:

utf8_decode()

También hay que mirar la menara como se crearon las tablas en la BBDD. Ojo con el cotejamiento

Prueba con:

mysql_query("SET NAMES 'utf8'");

Una vez conectado a la BBDD y antes de hacer la consulta a la Tabla

... me cuentas

Gracias por contestar, pero creo que no has leído bien la cuestión, no es un tema de bases de datos, es simplemente un fichero php, el tema de bbdd ya he pasado por él y ya lo solucioné, y lo de las funciones utf8_decode y utf8_encode, ya lo he utilizado, en este caso no he podido utilizarlo ya que dicha libreria la incluyo en diferentes sitios, y al poner utf8_decode, en el caso del ejemplo saldría bien, pero en otros sitios que tambien la utilizo saldría mal (comprobado), mientras que insertando la solución que he puesto más arriba se visualiza correctamente en todos los sitios.

Gracias de todas maneras.

P.D: de todas maneras, además del <meta> para los ficheros html, yo aconsejo, a partir de ahora, en los fichero php, incluir la línea que indico en mi respuesta, así nos evitamos el tener que llenar el código utf8_decode / _encode .

Respuesta
1

He encontrado una solución, en el fichero de libFotografia.php antes de todas las funciones he insertado la siguiente línea:

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

Solucionándose el problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas