Tema: encodeURI
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2008, 10:18
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
encodeURI

Hola,

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:
fotos / Título del álbum número uno
         / Título del álbum número dos
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.

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

Última edición por quimfv; 17/04/2008 a las 11:01