Foros del Web » Programando para Internet » PHP »

[solucionado + o -]sobre buscar y reemplazar y la codificación

Estas en el tema de [solucionado + o -]sobre buscar y reemplazar y la codificación en el foro de PHP en Foros del Web. Hola a tod@s! Estoy queriendo renombrar nombres de ficheros quitandoles los espacios y caracteres raros. Pasa que en algunos casos me funciona y en otros ...
  #1 (permalink)  
Antiguo 03/03/2010, 02:34
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
[solucionado + o -]sobre buscar y reemplazar y la codificación

Hola a tod@s!
Estoy queriendo renombrar nombres de ficheros quitandoles los espacios y caracteres raros. Pasa que en algunos casos me funciona y en otros no.
sobre un documento en blanco tengo un array del tipo
Código:
$replaces=array(
        "/[áàäâå]/" => "a",
        "/[éèëê]/" => "e",
        "/[íìïî]/" => "i",
        "/[óòöô]/" => "o", 
         ....
en este caso con
preg_replace(array_keys($replaces), array_values($replaces), strtolower($string)
funciona perfectamente
le añado la etiqueta:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
y funciona si a $string le paso utf8_decode($string) antes del preg_replace
ahora esto lo llevo a mi aplicación....
si no le paso el utf8_decode la sustitucion de una á por a me devuelve �
y si se lo paso á se me sustituye por ãa.

No tengo claro por que en uno me lo hace y en otro no. Y supongo que le tengo que pasar alguna función que codifique y descodifique, pero ya saliendo del ut8_encode y _decode me pierdo.
¿Qué pude ser?¿Cómo lo arreglo?
Muchas gracias.
Un saludo.

Última edición por manzarinaa; 03/03/2010 a las 10:31
  #2 (permalink)  
Antiguo 03/03/2010, 10:22
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: sobre buscar y reemplazar y la codificación

Proba con este tag a ver que pasa
Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Sino podrias hacer algo asi
Código PHP:
Ver original
  1. htmlentities($string);
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 03/03/2010, 10:30
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
Respuesta: sobre buscar y reemplazar y la codificación

Gracias por responder :)

No sé por qué, cambiando el array asociativo por 2 arrays normales ha funcionado todo correctamente.

Un saludo

Etiquetas: reemplazar, solucionado
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 06:32.