Foros del Web » Programando para Internet » PHP »

Formulario sólo entiende codificación si uso utf8_decode

Estas en el tema de Formulario sólo entiende codificación si uso utf8_decode en el foro de PHP en Foros del Web. Hola, tras decidir trabajar en utf-8, para soportar con más estabilidad diferentes idiomas, hice la conversión completa a esta codificación. Todo funciona correctamente, pero surge ...
  #1 (permalink)  
Antiguo 26/08/2011, 10:46
Avatar de Alvaro_Franz  
Fecha de Ingreso: mayo-2011
Mensajes: 84
Antigüedad: 8 años, 8 meses
Puntos: 4
Formulario sólo entiende codificación si uso utf8_decode

Hola, tras decidir trabajar en utf-8, para soportar con más estabilidad diferentes idiomas, hice la conversión completa a esta codificación.

Todo funciona correctamente, pero surge un problema al intentar enviar datos mediante un formulario. Hago el envío y en caso de no ser correcto, vuelvo a mostrar los datos para que se modifiquen, reocgiendo la variable $_POST y mostrándola.

Es curioso que entonces me muestra caracteres extraños (igual que al trabajar en UTF-8 con codificación ISO-8859-1).

Sin embargo usando utf8_decode() antes de imprimir la variable, sí funciona. Entonces mi pregunta es:

¿por qué el formulario no acepta la codificación utf-8?

Nota: Sigue igual aún añadiendo la etiqueta "accept-charset" al formulario.
__________________
La verdadera libertad consiste en dominarse a uno mismo
  #2 (permalink)  
Antiguo 26/08/2011, 12:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 7 meses
Puntos: 2135
Respuesta: Formulario sólo entiende codificación si uso utf8_decode

¿Revisaste que tus archivos HTML también tengan codificación UTF8? Porque esa puede ser la causa.

Saludos.
  #3 (permalink)  
Antiguo 26/08/2011, 13:46
Avatar de Alvaro_Franz  
Fecha de Ingreso: mayo-2011
Mensajes: 84
Antigüedad: 8 años, 8 meses
Puntos: 4
Respuesta: Formulario sólo entiende codificación si uso utf8_decode

Pues, había leído algo sobre eso... entonces hice lo siguiente:

Trabajo con un include base que es el encabezado
Luego el cuerpo por separado

Todos son PHP, con Dreamweaver hice "Guardar Como" y apliqué "formulario de normas" y lo puse en C...

No sé si habrá alguna forma especial de hacerlo...

Pd.: Además marqué la casilla de "utilizar firma BOM para unicode"
__________________
La verdadera libertad consiste en dominarse a uno mismo
  #4 (permalink)  
Antiguo 26/08/2011, 14:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 7 meses
Puntos: 2135
Respuesta: Formulario sólo entiende codificación si uso utf8_decode

No deberías de usar esa opción ya que te puede dar errores en las cabeceras, prueba usar un editor como Notepad++ y asegurate que todos tus files, .php, .html sean UTF8.

Saludos.
  #5 (permalink)  
Antiguo 26/08/2011, 14:50
Avatar de Alvaro_Franz  
Fecha de Ingreso: mayo-2011
Mensajes: 84
Antigüedad: 8 años, 8 meses
Puntos: 4
Respuesta: Formulario sólo entiende codificación si uso utf8_decode

Hola, muchas gracias por tu respuesta.

Además de modificar la codificación de los archivos, esto es lo que me ha ayudado:

Al parecer htmlentities no se debe usar tal cuál en utf8... lo que he hecho ees alternar esta función por strip_tags() que igual me elimina todo el HTML maligno que los usuarios pudieran insertar.

Un saludo.
__________________
La verdadera libertad consiste en dominarse a uno mismo

Etiquetas: formulario, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:50.