Hombre yo tengo el mismo problema.
No tiene nada que ver con la BD, porque yo uso PSQL. Además, cuando escribo el valor 'ñ' en la BD, me la toma y queda bien, en la BD...
Cuando leo el valor, ñ en este caso, y lo escribo en la web, aparece correcto.
El problema esta al escribir EN la BD desde la web...

leyendo en varias partes, algunas personas solucionaban el problema reemplazando el caracter ñ por ñ
Puede que a tí te funcione de esa forma

... pero si ocupas XML muere todo :(
Suerte y a esperar una soluci´´on definitiva
EDITO: Lo "solucione" cambiando la codificacion de la pagina a "iso-8859-1". Funciona todo ok :D