Foros del Web » Creando para Internet » Flash y Actionscript »

Acentos y ñ's - Flash 8 y php

Estas en el tema de Acentos y ñ's - Flash 8 y php en el foro de Flash y Actionscript en Foros del Web. Hola amigos, alguien me podría orientar? tengo un formulario hecho antiguamente en flash 5 que trabaja con php y me lee perfectamente caracteres especiales como ...
  #1 (permalink)  
Antiguo 29/09/2006, 09:08
Avatar de LuisColl  
Fecha de Ingreso: noviembre-2002
Ubicación: Tucumán / Argentina
Mensajes: 141
Antigüedad: 21 años, 5 meses
Puntos: 0
Acentos y ñ's - Flash 8 y php

Hola amigos, alguien me podría orientar? tengo un formulario hecho antiguamente en flash 5 que trabaja con php y me lee perfectamente caracteres especiales como ñ y acentos, el problema se me presentó cuando hice el mismo formulario en Flash 8 difiriendo la cantidad de variables y nada más. El php no me lee los caracteres especiales, ya probé algunas cosas como guardar el text en UTF8, unicode, probe poniendo en el swf (system.useCodepage = true;) y no funciona. Desde ya muchas gracias.
__________________
Luis Fernando Collados
http://www.luiscollados.com.ar
[email protected]
  #2 (permalink)  
Antiguo 29/09/2006, 10:09
Avatar de keegan  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 584
Antigüedad: 19 años, 7 meses
Puntos: 0
A mi me pasa lo mismo...me rendi...
__________________
www.fanafalcon.com.ar
  #3 (permalink)  
Antiguo 29/09/2006, 10:21
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 9 meses
Puntos: 53
mira, ami me paso lo mismo, lo que hice fue usar esto

system.useCodepage = true;

y codificar la informacion con la funcion escape, entonces una vez codificada la informacion a mandar, la mandas al servidor, y ya con PHP la decodificas con urldecode.

prueba hacer eso a ver que pasa

have funnnnnn
  #4 (permalink)  
Antiguo 29/09/2006, 10:31
Avatar de LuisColl  
Fecha de Ingreso: noviembre-2002
Ubicación: Tucumán / Argentina
Mensajes: 141
Antigüedad: 21 años, 5 meses
Puntos: 0
Gracias stock podrias poner el código del php? Otra opción por ahi, habrá? Keegan a no bajar los brazos no puede ser que no haya solución sin mucho código, saludos
__________________
Luis Fernando Collados
http://www.luiscollados.com.ar
[email protected]
  #5 (permalink)  
Antiguo 29/09/2006, 10:36
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
system.useCodepage = true; Esto solo sirve para Windows.
Vamos con un ejemplo:
Supongamos que envias una variable llamada nombre por medio de LoadVars
Código:
algo = new LoadVars();
algo.nombre = "ñoño";
algo.sendAndLoad("script.php", algo, "POST")
algo.onLoad = function(){
trace("enviado")
}
en PHP lo que tienes que haces es:

Código PHP:
<?php
$nombreCorrecto = utf8_decode($_POST['nombre']);
echo $nombreCorrecto //imprime ñoño
?>

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #6 (permalink)  
Antiguo 29/09/2006, 14:04
 
Fecha de Ingreso: mayo-2006
Mensajes: 9
Antigüedad: 17 años, 11 meses
Puntos: 0
Yo batallé aproximadamente por 1 semana con este asunto. Yo me encontré con este problema al cambiar de un servidor español a uno en USA.
Lo resolví finalmente con una combinación de cosas:

1. La directiva del servidor apache AddDefaultCharset debe estar en off. De lo contrario no importa lo que nosotros pongamos siempre servirá la página con los caracteres que el servidor tenga por defecto. Si no es así, yo hablaría con mi servicio de hosting para ver si lo pueden modificar.

2. Cerciorate de cual es el lenguaje por defecto de tu servidor. Si no es UTF-8. Sube un archivo . htacces indicándoselo . Código del .htaccess:
Código PHP:
AddDefaultCharset utf-
. (Si te lo permite tu servidor).

3. Agrega esto en la cabecera html del php:
Código PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
Flash por defecto maneja la codificación UTF-8 que te reconoce esos caracteres, y los programas de correo también lo reconocen, así que el problema no está en flash. El problema está en el servidor y en html. No necesitas traducir nada sólo usar el mismo tipo de caracteres en todas partes.

Si vas a Google, busca test del ñandu y te aparece en primer lugar un blog de donde obtuve esta información
Allí puedes bajar también un test para ver cual es la configuración de tu servidor.

Espero te sirva.

Saludos

Maika
  #7 (permalink)  
Antiguo 29/09/2006, 21:24
Avatar de LuisColl  
Fecha de Ingreso: noviembre-2002
Ubicación: Tucumán / Argentina
Mensajes: 141
Antigüedad: 21 años, 5 meses
Puntos: 0
Hola Bandit, ya probare eso, hola Maika, el problema es Flash 8 y no mi servidor tengo mi web en el mismo servidor y en ella un formulario que me llega perfecto claro que cuando hice mi web trabaje con flash 5 y ahora le sume un showcase nuevo hecho con flash 8 y en el mismo servidor de hosteo y no funciona bien. Conclusión no es problema de server. sino de algo que cambio de Flash 5 a Flash 8 y no se que tal vez este en la configuración de exportación. Saludos y muchas gracias. Espero que sigan posteando posibles soluciones.
__________________
Luis Fernando Collados
http://www.luiscollados.com.ar
[email protected]
  #8 (permalink)  
Antiguo 29/09/2006, 23:29
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
Desde la versión 6 en adelante Flash Player trata como Unicode aquellos textos que interactuarán con archivos externos (ya sea enviando o recibiendo datos) a no ser que s ele especifique lo contrario.

Si el archivo externo no ha sido guardado como Unicode (Unicode tradicional o UTF-8) caracteres como tildes o eñes (o caracteres no occidentales como el alfabeto japonés) no serán interpretados correctamente. Para evitar esto hay 2 caminos:

1. Decirle a Flash Player que no utilice Unicode para interpretar el texto externo, sino que utilice la página de códigos tradicional del correspondiente sistema operativo. Para esto hay que "apagar" el Unicode y activar el soporte para la página de códigos tradicional con la siguiente orden:

System.useCodepage = true;

El inconveniente de esto es que sólo tiene efecto para el sistema operativo Windows, por lo tanto en un Mac los acentos y eñes seguirían viéndose incorrectamente.

2. La solución más óptima es mantener activo el soporte de Flash Player para Unicode e inactivo el uso de la página de códigos tradicional, manteniendo el valor de la propiedad useCodepage en FALSE (que desde Flash Player 6 en adelante es el valor por defecto, así que no es necesario).

Además de esto es necesario que el archivo externo haya sido guardado como Unicode o UTF-8 (primero hay que guardar el archivo antes de ingresarle contenido).

¿Con Flash 5 no pasaba lo mismo?, por que justamente dicha versión trabaja al revés, por defecto tiene "apagado" el soporte para Unicode (es decir el valor de System.useCodepage por defecto es true), por tanto podías trabajar sin problemas con textos no Unicode.
  #9 (permalink)  
Antiguo 02/10/2006, 15:34
Avatar de LuisColl  
Fecha de Ingreso: noviembre-2002
Ubicación: Tucumán / Argentina
Mensajes: 141
Antigüedad: 21 años, 5 meses
Puntos: 0
Gracias Frijolerou intentare aunque ya hice algunas de esas cosas y no funcó. Otro que tire y pegue!!
__________________
Luis Fernando Collados
http://www.luiscollados.com.ar
[email protected]
  #10 (permalink)  
Antiguo 02/10/2006, 17:04
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 9 meses
Puntos: 53
Cita:
Iniciado por frijolerou Ver Mensaje
System.useCodepage = true;

El inconveniente de esto es que sólo tiene efecto para el sistema operativo Windows, por lo tanto en un Mac los acentos y eñes seguirían viéndose incorrectamente.
ammmmm no estoy deacuerdo con esta afirmacion, yo desarrollo en un MAC y te puedo decir que he usado esa instruccion para esto de los acentos y eñes y funciona perfectamente, quizas sea por la version del OS.

have funnnnnn
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 19:51.