hallo
hallo
Der Fall hier
if( $file =~ /\.(?:$filetypes)$/ && -f $file && -r $file ){ $list.= encode_utf8( sprintf(qq{<option value="%s/%s">%s/%s (%s)</option>\n}, $f, $_, $f, $_ , ( -w $file ? '+r+w' : '+r') ) ); }
encode_utf8 funkioniert auf meinem win8.1 zufälligerweise.
Beachte, daß bei allen Strings die ans OS bzw. nach draußen gehen, also Dateinamen und Inhalte, die interne Zeichenkodierung abgeschaltet werden muss.
encode_utf8()
ist also falsch angebracht in diesem Kontext.
Und was wäre korrekt?
Hier lese ich filenamen über readdir ein und gebe das Ergebnis an HTML aus, während der HTML Output als UTF-8 deklariert ist.