Creo que quedó solucionado! Gracias a todos
Como bien dijeron, el problema estaba en el charset del ajax lo que hice fue codificar* la siguiente función:
function utf8_a_iso8859(&$array) {
foreach ($array as $k => $item) {
if (is_array($item)) {
$array[$k]= utf8_a_iso8859($item);
}
else {
$array[$k] = utf8_decode($item);
}
}
return $array;
}
y luego en el script que recibe los datos ajax antes de comenzar a trabajar con dichos datos puse:
utf8_a_iso8859($_GET);
o bien: utf8_a_iso8859($_POST);
Finalmente resultó:
PHP con charset Latin1
MySQL con charset Latin1
HTML con header Latin1 (ISO8859-1)
y AJAX que transmite y recibe utf8 por lo que al recibir datos uso la función utf8_a_iso8859 y al enviarlos el header("Content-Type: text/plain; charset=ISO-8859-1")