, ,

horde3: Dateidownload mit Umlauten im Dateinamen / Verzeichnisnamen

Die Umlaut-Problematik tritt nur bei Firefox auf, nicht mit Chrome oder Safari.

Problem: Der Dateimanager „gollem“ von horde3 zeigt mit Firefox Dateien mit Umlauten im Dateinamen nicht korrekt an und man kann sie nicht herunterladen. Die Dateinamen sind für den Download leider falsch codiert.
Fehlermeldung: „Ein schwerer Fehler ist aufgetreten! Zugriff auf … verweigert.“

Workaround

In der Datei /usr/share/horde3/lib/VFS/smb.php (ca. bei Zeile 690) eine Zeile zum Encoding einfügen:

...
    function _command($path, $cmd)
    {
        list($share) = $this->_escapeShellCommand($this->_params['share']);
        putenv('PASSWD=' . $this->_params['password']);

####### Encoding auf UTF8 setzen #######
        putenv('LC_ALL=de_DE.UTF-8');

        $ipoption = (isset($this->_params['ipaddress'])) ? (' -I ' . $this->_par
...

Problem: Nun kann man zwar die Dateien/Verzeichnisse mit Umlauten auswählen und herunterladen, aber die Namen werden im Browser nicht korrekt angezeigt. Firefox wählt nämlich das falsche Encoding für die horde-Seite aus.

Lösung 1: Für Firefox das Addon „Charset Switcher“ installieren und dann für die URL zu gollem die Codierung UTF8 fest einstellen, dann werden die Dateinamen mit Umlauten korrekt angezeigt. Z.B. URL dazu: http://server/horde3/manager.php

Lösung 2: In der Datei /usr/share/horde3/gollem/templates/common-header.inc die UTF8-Encoding für gollem fest vorgeben:

<?php
if (isset($language)) {
    header('Content-type: text/html; charset=UTF-8');
    header('Vary: Accept-Language');
}
...

Als Nebeneffekt werden nun aber die Beschriftungen der Seite, die Umlaute/Sonderzeichen enthalten, nicht korrekt angezeigt. Um dies wiederum zu beheben muss man die Sprachdatei „de_DE“ zu gollem editieren :-(