Foros del Web » Programando para Internet » PHP »

POST con caracteres especiales

Estas en el tema de POST con caracteres especiales en el foro de PHP en Foros del Web. Amigos: Ayer puse un post, pero las respuestas no me ayudaron, puse todo lo que me dijeron pero nada, ya se donde radica el problema. ...
  #1 (permalink)  
Antiguo 14/01/2011, 10:07
 
Fecha de Ingreso: noviembre-2002
Mensajes: 147
Antigüedad: 21 años, 5 meses
Puntos: 0
Pregunta POST con caracteres especiales

Amigos:

Ayer puse un post, pero las respuestas no me ayudaron, puse todo lo que me dijeron pero nada, ya se donde radica el problema.

El problema es el siguiente. Tengo una funcion para cambier caracteres especiales, y no me funcionaba ayer, la idea es crear una carpeta cambiendo los caracteres especiales por normales.

Cuando proble poner una variable fija, el servidor lo hace perfectamente, pero cuando hago el post con esa misma palabra, ahi es donde no funciona.

Me explico mejor con ejemplo.

Si hago esto


function Normalizar($var) {

$a = "ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓ ÔÕÖØ ÙÚÛÜßàáâãäåæçèéêëìíîïñòóôõö÷øùúûüÿ¨&*()+}=}{[^~?$%;><,]'`?";
$b = "abcdefghijklmnopqrstuvwxyzAAAAAAACEEEEIIIINOOOOOO _UUUUBaaaaaaaceeeeiiiinooooo-ouuuuy________________________";

$var = strtr($var,$a,$b);
$var = strtolower($var);
return $var;
}

$new = "José Martí";

$new = str_replace ('//','/',Normalizar($new));

$ok=@mkdir($new, 0777);

Me crea la carpeta jose_marti... Correcto!!!!

Ahora si escribo en un formulario José Martí (caja de texto)


function Normalizar($var) {

$a = "ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓ ÔÕÖØ ÙÚÛÜßàáâãäåæçèéêëìíîïñòóôõö÷øùúûüÿ¨&*()+}=}{[^~?$%;><,]'`?";
$b = "abcdefghijklmnopqrstuvwxyzAAAAAAACEEEEIIIINOOOOOO _UUUUBaaaaaaaceeeeiiiinooooo-ouuuuy________________________";

$var = strtr($var,$a,$b);
$var = strtolower($var);
return $var;
}

$new = $_POST["folder"];

$new = str_replace ('//','/',Normalizar($new));

$ok=@mkdir($new, 0777);

Me crea la carpeta con unos simbolos super raros (josa©_marta*). La pagina del formulario tiene el charset correcto.
Creo que es un problema del servidor, no se que hacer. Me pueden ayudar???...

Ahhhh! una cosa importante. Cuando hago echo $new en esta segunda opcion me imprime José Martí.

Complicado verdad?????????

Me pueden ayudar por favor??
Atte

remy
  #2 (permalink)  
Antiguo 15/01/2011, 08:06
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: POST con caracteres especiales

Probá:

$new = utf8_encode( $_POST["folder"] );

o utf8_decode().

Esto es porque seguramente la variable POST tenga un charset diferente al esperado.
  #3 (permalink)  
Antiguo 15/01/2011, 10:14
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: POST con caracteres especiales

Hmmm, ¿cambiaste el charset del ARCHIVO como tal tambien? (Del formulario)

Etiquetas: caracteres, especiales, post
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 01:59.