Al usar la función pathinfo()
de PHP en un nombre de archivo UTF-8, no devuelve el valor correcto, a menos que haya caracteres 'normales' en frente al personaje especial.Hacer que PHP pathinfo() devuelva el nombre de archivo correcto si el nombre del archivo es UTF-8
Ejemplos:
pathinfo('aä.pdf')
devuelve:
Array
(
[dirname] => [the dir]
[basename] => aä.pdf
[extension] => pdf
[filename] => aä
)
que es fino y elegante, pero pathinfo('äa.pdf')
devuelve:
Array
(
[dirname] => [the dir]
[basename] => a.pdf
[extension] => pdf
[filename] => a
)
que no es exactamente lo que yo esperaba. Peor aún, pathinfo('ä.pdf')
devuelve:
Array
(
[dirname] => [the dir]
[basename] => .pdf
[extension] => pdf
[filename] =>
)
¿Por qué hace esto? Esto va para todos los personajes acentuados que he probado.
mayoría de las funciones básicas de PHP no se ocupan de juegos de caracteres que no sean ISO-8859-1 (Latin-1). La única opción real es volver a implementar la función usted mismo utilizando funciones seguras de chaster de múltiples bytes (funciones 'mb_string') – ircmaxell
¿Qué versión de PHP está ejecutando? – ajreal
@ajreal es PHP 5.2.6-1 + lenny9 en debian lenny – Zsub