Estoy liado intentando hacer una galería de imágenes simple que con solo subir las fotos al servidor se puedan mostrar pero que al mismo tiempo tenga un índice de las fotos que se van a ver, seguro que hay muchas cosas hechas pero me gusta buscar mis propias soluciones.
Para ello combino técnicas php, javascript y una estructura concreta de directorios.
Estructura de directorios:
Código:
De php uso scandir para obtener la lista de álbumes y de fotos que al mismo tiempo sirven de índice y de ruta al fichero de la imagen. En javascript precargo y almaceno las fotos en un array, y construyo un menú de navegación (<< 1/numero de fotos >>) que muestra las fotos precargadas en el array. fotos / Título del álbum número uno / Título del álbum número dos
Todo me ha funcionado como esperaba en local (uso apache 2... / php 5… sobre XP). Pero al subirlo al servidor externo en los directorios que tiene títulos con acentos u otros caracteres como ç, ñ etc… no se cargan las fotos…
La precarga de fotos la hago usando encodeURI precisamente para solucionar el problema de los juegos de caracteres, y en local funciona
jsarrayfotos[i] = new Image();
jsarrayfotos[i].src= "../fotos/" + encodeURI(album) + "/" + encodeURI(fotoi);
En concreto la siguiente ruta:
/fotos/2007-2008/Grans - Fou de Bor (Març08)/p1160311_001649.jpg
encodeURI la traduce por
/fotos/2007-2008/Grans%20-%20Fou%20de%20Bor%20(Mar%C3%A708) / p1160311_001649.jpg
Cuando debería ser
fotos/2007-2008/Grans%20-%20Fou%20de%20Bor%20(Mar%E708)/p1160311_001649.jpg
Tengo un lio de juegos de caracteres pero no lo se solucionar… en el metatag tengo <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />.
Alguna sugerencia.
Quim