A continuación indicamos como resolver de forma fácil un problema muy común a la hora de mostrar caracteres extraños, tales como tíldes o la eñe, al obtenerlos de una base de datos mysql o mariadb.

Tan solo con indicar en la conexión el charset UTF8 en la conexión de la base de datos sería suficiente para obtenerlo correctamente. Lo ideal es tener el acceso a la base de datos centralizado en un único punto, o a través de un objeto singleton, para estar seguros de que siempre se usará la conexión con el charset correcto.

El código PHP sería el siguiente:

<?php
/* Conexión a base de datos */
mysql_connect("localhost","basededatos", "password") ;  
mysql_query("SET NAMES 'utf8'");   
?>

En caso de que el problema persista, sería conveniente indicar en el header de la propia página el charset UTF-8:

<head>
<meta charset="UTF-8">

....

</head>