Buenas, yo estuve pegándome con un problema que tenía a la hora de elaborar un formulario dinámico que también adjuntara ficheros; el problema erea que cuando ponía a elegir entre el turno de "mañana" o el de "tarde", si se seleccionaba el de "mañana" recibía "ma#na", un símbolo extraño como 'ñ' (y a veces se comia la siguiente letra), asímismo hacia lo mismo con las tildes, º y demás simbolos extraños.
El problema me lo daba el atributo 'enctype="multipart/form-data"' del FORM que nos permite adjuntar ficheros, por lo tanto si lo quitamos nos traducirá bien los caracteres "extraños" pero no me dejaría adjuntar ficheros o por el contrario añadir el atributo enctype pero no tener controlado las tildes, eñes, etc.
Después de buscar entre varias páginas vi que en la mayoría llegaban a la misma conclusión, la codificicación.
En un foro resuelven el tema de la codificación comprobando que tipo de codificación se hace mediante una función, pero a mi no me solucionaba nada puesto que mi formulario no es estático y no dispongo de campos fijos que verificar.
Acto seguido encuentro otro en el que lo solucionan añadiendo en la cabecera (HEAD) lo siguiente:
<meta equiv="Content-Type" content="text/html;charset=UTF-8">
Pero no me dió resultados.
Buscando por el amplio mundo de internet descubrí un atributo llamado "
accept-charset" del formulario (FORM) que permite cambiar la codificación.
Tan solo hay que añadir a nuestro FORM el atributo
'accept-charset="utf-8"'<form id="formUserData" name="formUserData" action="/usuarios/guardar/" method="post"
accept-charset="utf-8">A mi me funcionó, quizás alguna de las tres opciones propuestas te puedan servir a la hora de realizar un formulario que permita adjuntar ficheros.