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:
en este caso con $replaces=array( "/[áàäâå]/" => "a", "/[éèëê]/" => "e", "/[íìïî]/" => "i", "/[óòöô]/" => "o", ....
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.