Si he entendido bien tu problema, creo que esto podría servirte... aunque tiene más que ver con php y con como creas tus bases de datos que con html...
Cita: 1) Cuando crees una base MySQL a través de PHPMyAdmin (yo lo hago con este programa) y quieras que contenga campos en utf-8, pon especial atención en que el cotejamiento de las conexiones MySQL sea en utf_unicode_ci, la tabla o tablas con cotejamiento utf_unicode_ci, los campos con cotejamiento utf_unicode_ci (son los que yo utilizo, aunque podría ser cualquier otro unicode), aunque sólo aquellos campos en que voy a introducir utf-8. ARCHIVOS HTML Y PHP
2) Las páginas con terminación html y php donde verás los textos deben ser guardadas con formato utf-8 (ojo, porque algunos editores no lo permiten y otros como bloc de notas pueden causarte algún problema si luego vas a trabajar con sesiones...).
3) En el archivo con terminación html debes escribir este meta <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
CONEXIÓN MYSQL MEDIANTE PHP
4) Cuando hagas la conexión a la base de datos MySQL, deberás escribir tras la conexión y justo después de seleccionar la base: mysql_query ("SET NAMES 'utf8'"), como en el ejemplo.
Código PHP:
<?php
$link = mysql_connect ('localhost', 'root', 'tuclave');
if (!$link){
echo 'error al conectar';
die;
}
$bd = mysql_select_db('mibase');
if (!$bd){
echo 'error al seleccionar la base d datos';
die;
}
mysql_query ("SET NAMES 'utf8'");
?>
Siguiendo estos pasos que encontré en alguna web, yo no he vuelto a tener problemas como los que mencionas...
Espero que te sirva!