Otto Wyss: Ursachenbekämpfung bei Dateinamen mit "äöü"

Beitrag lesen

Normalerweise würde ich da heutzutage UTF-8 erwarten. Muss aber nicht zwangsläufig so sein.

Leider nein, es ist ein ISO-8859-1

... und wandle sie für die Anzeige mit utf8_encode.

Das machte ich bereits.

echo urlencode($name);

Hatte ich auch schon gemacht, allerdings ohne "urlencode". Daran habe ich bis jetzt nicht gedacht.

Du musst zwei Dinge unterscheiden, wenn du Namen mit Nicht-ASCII-Zeichen verarbeitest. Die korrekte Anzeige beim Client, und die korrekte Codierung des Links (bzw. des src-Attributs, wenn es um Bilder geht), wenn daraus wieder ein Request an den Server werden soll.

Genau, für die Anzeige brauche ich utf8, für den Link ISO-8859-1.

$name = utf8_encode($filename);

echo "<a href='" . urlencode($name) . "'>$name</a>";


>   

Das mit urlencode muss ich noch ausprobieren.  
  
Danke für den Tip.