Dateien mit Umlauten werden ignoriert

Na also, habe es lösen können. Meine Befürchtungen haben sich bewahrheitet:
PHP nutzte bei mir nicht standardmäßig die System-Locale.

Ich habe dazu folgendes getan:

  1. Sicherstellen, dass de_DE.UTF-8 installiert und verfügbar ist (auskommentieren / hinzufügen in /etc/locale.gen und anschließendes locale-gen)

  2. Default locale für php-cli setzen (habe es auch direkt für php-fpm gemacht, man weiß ja nie):
    Bearbeiten der php-cli/php.ini bzw. php-fpm/php.ini:
    intl.default_locale = de_DE.UTF-8
    Achtet dabei darauf die richtige Datei zu bearbeiten. Ich nutze beispielweise als PHP-Handler in NGINX PHP 7.4, aber im Terminal PHP 8.0. Im Terminal php --version sollte die CLI-Version anzeigen.

  3. Das occ-Skript required console.php. In console.php habe ich die Locale auf den Systemstandard geändert, indem unter die use-Zeilen ein
    setlocale(LC_ALL, NULL);
    eingefügt wurde. Ich habe das Testweise mal ausprobiert, indem ich stattdessen
    echo("Locale: " . setlocale(LC_ALL, NULL));
    eingefügt hatte. Dabei habe ich dann endlich de_DE.UTF-8 als Output erhalten.
    Stellt aber sicher, dass ihr nur setlocale schreibt und nichts echo’ed, da in folgenden Zeilen teilweise weitere Headerdaten gesetzt werden, was nach einem Echo nicht erlaubt ist.

Ab hier hat dann occ keine Fehler mehr geworfen und die Dateien werden endlich richtig eingebunden. Ich werde mal die Tage ein Issue erstellen und den Vorschlag geben, das als Default in Nextcloud zu haben.

@loeffelpan Vielleicht hilft dir das ja auch

1 Like