Probleme mit ZIP Funktion (Umlaute)

liquidbeats

Erfahrenes Mitglied
Guten Morgen,

ich habe da irgendwie Probleme mit den Umlauten wenn ich die ZIP-Funktion nutzen möchte. Nun gehe ich einen umständlichen umweg um bspw. die Char-Codes für jeden einzellnen Buchstaben zu ermitteln, und diesen durch den wert in der ASCII-Tebelle Hinterlegen Zeichen zu ersetzen.

PHP:
$uml     = App::ASCIITable(); // ASCII Tabelle
for($i=0; $i<strlen($filename); $i++){
    $char = ord( substr($filename, $i,1) );
    if(isset($uml[$char])){
        $converted = str_replace( chr( ord( substr($filename, $i,1) ) ), trim( utf8_encode( $uml[$char] ) ), $filename);
    }
}
Dieser Quelltext ist jetzt nur ein Beispiel, aber erklärt doch recht gut was ich momentan machen muss. Obwohl das recht gut klappt, werden nicht alle Umlaute entsprechend korregiert, vorallem wenn der Dateiname bspw.
Code:
ÜÄÖüäö.txt
heißt, so kommt dann bspw. das bei raus.

? ? ? ü ? ?.txt <= Leerzeichen entfernen oder wegdenken, nimt das Forum nicht so gerne an :rolleyes:

Was muss ich tun, damit ich dies nicht mehr machen muss? Ich habe utf8 ausprobiert, erfolglos.
Den Dateinamen ermittel ich durch
HTML:
$filename = zip_entry_name($zip_entry); // Dateiname
Ich habe mich eigentlich an den in der Dokumentation Hinterlegten Beispiel gehalten.
PHP:
$zip = zip_open("/tmp/test2.zip");

if ($zip) {

    while ($zip_entry = zip_read($zip)) {
        echo "Name:               " . zip_entry_name($zip_entry) . "\n";
        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "File Contents:\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}
Abgesehen von Dateiname usw. ist der Aufbau nahezu Identisch.
Hat diese Funktion / Extension von Hause aus Probleme mit Umlauten? Was kann ich da machen?


Danke
Grüße
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück