Te aconsejo que uses una version mas reciente de AMP (Apache - Mysql - PHP) pues te permite modificar el CHARSET de la tabla de tu BD y el Cotejamiento o COLLATE del mismo al crearlo.. te puede servir bajarte el WAMP server e instalarlo.
Segundo, si vas a permitir que un usuario introduzca texto en su sitio asegurate de transformar los acentos y caracteres especiales en formato legible, puede ser en HTML.. aqui he modificado una funcion que transforma caracteres en algo legible para html:
Código PHP:
function reemplazo($nombre_gal) {
//Rememplazamos caracteres especiales latinos
$find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');// reemplazamos los acentos y ñ, ojo solo las minusculas
//si quieres las mayusculas, debes crear unos arreglos similares
$repl = array('á', 'é', 'í', 'ó', 'ú', 'ñ');// por caracteres HTML, puedes agregar mas si quieres
$nombre_gal = str_replace ($find, $repl, $nombre_gal);
// Añadimos otros caracteres
$find = array('&', '\"');
$repl = array('&', '"');
$nombre_gal = str_replace ($find, $repl, $nombre_gal);
// Eliminamos y Reemplazamos demás caracteres especiales
return $nombre_gal;
}
para aplicarlo solo debes llamar a la funcion que contendra el String que escribe el usuario
Código PHP:
$nombre_gal= $_POST['mensaje'];
//e inserto esto en la BD
$texto=reemplazo($nombre_gal);
$sql = "INSERT INTO tu_tabla (mensaje) VALUES ('".$texto."')";
te recomiendo usar un editor WYSINGYN, como por ejemplo nicEDIT, que te permite generar codigo HTML desde tu textarea
Otra opcion, no tan eficiente es usar
<?php echo htmlspecialchars($_POST['nombre']); ?> para cargar carateres especiales HTML a tu BD o para mostrarlas
espero te oriente un poco mas