Primer paso: verifica la codificación de las tablas en tu base de datos
Segundo paso: verifica la codificación de tus paginas en el meta
Ambas deben ser la misma, para que asi no tengas problemas al mostrar resultados y grabar, es recomendable el uso de utf-8, es más practico y cubre la mayoría de los caracteres.
Al actualizar tus bases de datos a la nueva codificación, es posible que aprecies cambio en las cadenas que tenían acentos y la ñ, por lo que deberás refrescar la data para corregirla.
Si es mucha data y no te queda opción de seguir como vas, no te queda de otra que transformar los resultados tanto al leer como al grabar, por ejemplo:
Al leer utiliza: utf8_encode($valordecampo['campo']);
y cada vez que grabes, ejecuta este sql: SET NAMES 'utf8'; antes de cualquier Insert o update, si no te tocará DECODIFICAR cada entrada de input con utf8_decode:
Código PHP:
$sql="insert into tabla (campo) values(".utf8_decode($_POST['campo']).");";