Foros del Web » Programando para Internet » PHP »

urlencode : formas equivalentes ?

Estas en el tema de urlencode : formas equivalentes ? en el foro de PHP en Foros del Web. Amigos: he buscado café en Google y el query queda expresado como caf%C3%A9 pero el urldecode aplicado a un formulario que envia en UTF8 me ...
  #1 (permalink)  
Antiguo 11/02/2009, 07:47
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Busqueda urlencode : formas equivalentes ?

Amigos: he buscado café en Google y el query queda expresado como caf%C3%A9 pero el urldecode aplicado a un formulario que envia en UTF8 me deja algo asi: caf%E9

Entonces reemplazo en Google donde dice &q=caf%C3%A9&meta= por &q=caf%E9&meta= y sale el mismo resultado!

Son todas las formas de codificacion equivalentes ? he llegado a pensar eso........ luego he notado que si los acentos salen de la forma "corta" como %E9 en vez de C3%A9 no salen los enlaces patrocinados! y los necesito!

Cita:
deberia salir %C3%A1 y me sale %E1 para 'á'
deberia salir %C3%A9 y me sale %E9 é
...
deberia salir %C3%BA y me sale %FA ú
He encontrado referencias pero en foros de Perl aca y aca

Quisiera que se vean de la forma larga..... o sea .. C3%A9 para 'é'

Gracias! desde ya...

Ahh...otra cosa! despues de aplicar urldecode las urls me quedan como l%5C%27arte%2Bviecco lo cual es bueno para los acentos.....pues me los resuelve pero codifica caracteres escapados...... donde %5C% es justamenta la barra (\) ... no se que estoy haciendo mal.... o si es normal que deba luego hacer un str_replace y quitar la codificacion para la barra de escape, reemplazar %2B por '+' y asi......
__________________
Salu2!

Última edición por Italico76; 11/02/2009 a las 08:27
  #2 (permalink)  
Antiguo 11/02/2009, 09:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: urlencode : formas equivalentes ?

mmm... estas muy viajado, por algo tan insignificante

la codificación URL se logra dependiendo del charset original de la cadena...

habrá veces (con multibyte) que se necesiten pares de %XXXX para un solo carácter en lugar del ISO que solo usa %XX

si.... urlencode() escapa caracteres especiales... pero no debes preocuparte por preservar algunos, es mas... ¿para que los conservas???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 11/02/2009 a las 09:43
  #3 (permalink)  
Antiguo 11/02/2009, 10:11
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: urlencode : formas equivalentes ?

No logro descifrar que significa estar "viajado" .... quizas quieras decir que me deliro

Pate, para mi es MUY importante que las urls se generen multibyte como tu dices..... (o como se llame) o sea la version "larga" del codificado.... porque sino me falla un javascript que procesa la variable del query de la cadena (q)

La solucion-parche (chapuzeo o como quieran llamarle) fue despues del urlencode() y antes de grabar en la DB hacer esto:

Código :
Ver original
  1. $qx = str_replace ('%2B','+',$qx);
  2. $qx = str_replace ('%5C','',$qx); // barra de escape    
  3. $qx = str_replace(array('%E1','%E9','%F3','%FA','%F1','%F1'),array('%C3%A1','%C3%A9','%C3%B3','%C3%BA','%C3%B1'),$qx);

Una lastima......queria hacer algo bien.
__________________
Salu2!
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 00:18.