He probado todo tanto conversiones por funcion como conversiones por mime
 
Mi situacion es la siguiente estoy usando prototype, y envio los formularios por post, por lo que tengo entendido post lo envia en formato utf8 que es como tengo el fichero pero el problema es el siguiente aparecen las ñ y acentos mal,  
puede ser por la funcion Form.serialize? 
si es asi hay alguna forma de aplicar la funcion escapeHTML() a cada campo antes de serializar , algo en plan escapeHTML(Form.serialize) 
si usan prototype como solucionaron este incoveniente     
Código javascript
:
Ver originalfunction guardar_dato(url,metodo,formulario,validacion,seccion,css){
    
    var url = url;
    var metodo = metodo;
    var formulario = formulario;
    var seccion = seccion;
    var css = css;
    var validacion = validacion;
   
    new Ajax.Request(url, {
    method: metodo,
    asynchronous: true,
    postBody: Form.serialize(formulario),
    onSuccess: procesaRespuesta,
    onFailure: muestraError})
 
    
    alert(Form.serialize(formulario));
    //alert(seccion + " " + css);
    
    a= setTimeout("cerrarSubSeccion('subseccion',1)",1000);
    b= setTimeout("getSeccion('"+ seccion +"','"+ css +"',1)",1000);
    
    
    }