Hola,
La magia está en "parsear" el texto (no tienes que cambiar el tipo de el campo en la base de datos) del mensaje de modo que se sustituyan los símbolos de las caritas por su correspondiente imagen.
Es decir, simplificando, algo más o menos como esto:
Código PHP:
function Text2Caritas($text)
{
$resultado = '';
$resultado = str_replace(':)', '<img src="img/carita_contento.png" alt="Contento" width="16" height="16" />', $text);
$resultado = str_replace(';)', '<img src="img/carita_complice.png" alt="Cómplice" width="16" height="16" />', $text);
// Siguientes caritas...
return $resultado;
}
Esa es la forma en que llevo viendo hacer esto en varios proyectos... no sé, a bote pronto es lo que se me ocurre, aunque, cómo no... uno se pregunta si no podrá hacerse de otro modo... más chachi piruli...