martes, 8 de julio de 2008

Formulario que adjunte ficheros y controle tldes, eñes (ñ) y simbolos extraños

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.

No hay comentarios: