PHP error while importing path with international characters

squisher

Joined: 2006-10-24
Posts: 4
Posted: Sun, 2008-03-09 23:30

I just recently found an old backup of a gallery1 installation that I had misplaced. Now I'm trying to import it. It's using some international characters (Umlaute), and the import routine chokes on it. The error is:

Quote:
Error (ERROR_BAD_PARAMETER) : Missing or not readable file: /nfs/digamma/dmohr/gallery/albums/LundStraßen/album.dat

* in modules/migrate/classes/Gallery1DataParser.class at line 66 (GalleryCoreApi::error)
* in modules/migrate/classes/Gallery1DataParser.class at line 225 (Gallery1DataParser::loadFile)
* in modules/migrate/classes/Gallery1DataParser.class at line 109 (Gallery1DataParser::loadAlbumFields)
* in modules/migrate/ChooseObjects.inc at line 260 (Gallery1DataParser::getAlbumList)
* in modules/migrate/ChooseObjects.inc at line 213 (ChooseObjectsView::_createG1AlbumTree)
* in modules/core/SiteAdmin.inc at line 201 (ChooseObjectsView::loadTemplate)
* in modules/core/classes/GalleryView.class at line 300 (SiteAdminView::loadTemplate)
* in main.php at line 445 (GalleryView::doLoadTemplate)
* in main.php at line 94
* in main.php at line 83

The file exists, and is readable by the webserver.

My system information:

Quote:
Gallery version = 2.2.4 core 1.2.0.6
PHP version = 5.2.6RC1-pl1-gentoo apache2handler
Webserver = Apache
Database = mysqlt 5.0.54-log, lock.system=flock
Toolkits = ArchiveUpload, Exif, Ffmpeg, Getid3, ImageMagick, LinkItemToolkit, Thumbnail
Acceleration = none, none
Operating system = Linux digamma 2.6.23-gentoo-r6 #1 SMP PREEMPT Thu Feb 7 13:44:25 MST 2008 x86_64
Default theme = matrix
gettext = enabled
Locale = en_US
Browser = Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.12) Gecko/20080129 Iceweasel/2.0.0.12 (Debian-2.0.0.12-1)
Rows in GalleryAccessMap table = 18
Rows in GalleryAccessSubscriberMap table = 2
Rows in GalleryUser table = 2
Rows in GalleryItem table = 1
Rows in GalleryAlbumItem table = 1
Rows in GalleryCacheMap table = 0

First I thought it was a locale problem, and switched to "en_US.UTF-8", but that didn't change anything (except that the path now gets displayed correctly in my shell).

I wrote a little test php page which tries to open the page in question. When I paste the location into the code, or when I use php's Directory class to iterate through the files in the directory, I get a different, and incorrect, name displayed, but it opens the file just fine:

Quote:
Opening the pasted path:
file_exists(/nfs/digamma/dmohr/gallery/albums/LundStraßen/album.dat) = 1
is_readable(/nfs/digamma/dmohr/gallery/albums/LundStraßen/album.dat) = 1

While iterating over files in the directory:
LundStraßen
* is readable
* /nfs/digamma/dmohr/gallery/albums/LundStraßen/album.dat exists
* /nfs/digamma/dmohr/gallery/albums/LundStraßen/album.dat is readable

I'm not really sure what's at fault here, any help would be much appreciated!

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Tue, 2008-03-11 23:01

as a quick fix i'd rename /nfs/digamma/dmohr/gallery/albums/LundStraßen/album.dat, replacing the ß characte with ss.
and change the reference to that album in albums/*.dat too.

--------------
Documentation: Support / Troubleshooting | Installation, Upgrade, Configuration and Usage