Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11318[/thread]

Dateinamen mit Umlauten

Leser: 5


<< |< 1 2 >| >> 19 Einträge, 2 Seiten
Gast Gast
 2008-02-17 20:21
#106012 #106012
Hallo,

habe da ein kleines Problem mit Dateinamen die Umlaute enthalten. Solche Dateien lassen sich nicht öffnen und wenn ich eine neue anlege dann steht da wo der Umlaut sein sollte sowas wie ä .Also wird der Dateiname scheinbar als ISO-8859-1 angesehen(ich benutze utf-8). Gibt es für sowas eine Lösung oder muß ich die Dateien umbenennen?
betterworld
 2008-02-17 21:12
#106013 #106013
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Welches Betriebssystem?
(Anders gefragt: In welches Forum soll dieser Thread verschoben werden? (Denn zu Webprogrammierung passt er wohl eher nicht.))
Gast Gast
 2008-02-17 21:41
#106015 #106015
Doch, ist schon Webpogrammierung.(warum auch nicht?) Hier habe ich Win2000 zum testen, aber ich denke mal das ganze soll später wahrscheinlich unter Linux oder Unix laufen.
Linuxer
 2008-02-17 22:26
#106016 #106016
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Prinzipiell würde ich darauf achten, keine Umlaute und besondere Sonderzeichen in Dateinamen einzusetzen.

Wie arbeitet das Skript. Benutzt du das uf8 Pragma?

Zeig mal etwas Code; welche Pragmas und Module bindet das Skript ein, wie sieht der Code aus, der die Dateinamen verarbeitet und die Datei selbst verarbeitet.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Gast Gast
 2008-02-17 22:48
#106017 #106017
Das Problem ist das die Dateien schon so bestehen und so wie es aussieht sind da teilweise noch ganz andere Zeichen als Umlaute drin. Sonst wäre ich nie auf die Idee gekommen sowas zu machen. Leider kenne ich mich mit Perl nicht so aus, PHP hat leider heftige Probleme mit utf-8 so das ich in diesem Fall umgestiegen bin.

So sieht das bis jetzt aus:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);

use utf8;
use open ':encoding(utf-8)';
binmode STDOUT, ':encoding(utf-8)';

open(HTML_FILE, '<',"./html/Holzfäller.htm") || die "Datei nicht gefunden";
use Fcntl ':flock';
flock(HTML_FILE, LOCK_SH);
read(HTML_FILE, my $data, 1000);
flock(HTML_FILE, LOCK_UN);
close(HTML_FILE);
betterworld
 2008-02-17 22:49
#106018 #106018
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Gast+2008-02-17 20:41:20--
Doch, ist schon Webpogrammierung.(warum auch nicht?) Hier habe ich Win2000 zum testen, aber ich denke mal das ganze soll später wahrscheinlich unter Linux oder Unix laufen.

Es klang im ersten Beitrag irgendwie danach, dass es sich ueberhaupt nicht um ein Perlscript handelt. Ich nehme mal jetzt an, dass "das ganze" ein Perlscript oder aehnliches ist, daher kommt das jetzt mal nach "Allgemeines zu Perl", denn dass es mit Web etwas zu tun hat, scheint mir wirklich nicht plausibel...

Wie Linuxer schon sagt, wir brauchen etwas mehr Angaben bitte.
betterworld
 2008-02-17 22:54
#106019 #106019
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Gast+2008-02-17 21:48:09--
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);

use utf8;
use open ':encoding(utf-8)';
binmode STDOUT, ':encoding(utf-8)';

open(HTML_FILE, '<',"./html/Holzfäller.htm") || die "Datei nicht gefunden";
use Fcntl ':flock';
flock(HTML_FILE, LOCK_SH);
read(HTML_FILE, my $data, 1000);
flock(HTML_FILE, LOCK_UN);
close(HTML_FILE);

Was passiert, wenn Du dieses Script aufrufst?
Wie wurde die Datei angelegt?

Man sollte uebrigens auch bei flock den Fehlerstatus ueberpruefen.
Gast Gast
 2008-02-17 23:15
#106020 #106020
Wenn ich das so aufrufe erhalte ich einfach die Meldung das die Datei nicht existiert(keine Ahnung wie oder mit was die mal angelegt wurde, aber sie ist da). Wenn ich die Datei jedoch in anderem Verzeichnis vorher mit Perl angelegt habe kann ich sie auch lesen. Jedoch zeigt Windows das ä als ä an. Also scheint mir da was mit dem Zeichensatz nicht zu stimmen.
Gast Gast
 2008-02-17 23:20
#106021 #106021
Das Script auch als utf8 gespeichert? Dateiname auch utf8?
Gast Gast
 2008-02-17 23:30
#106022 #106022
Das Script ist utf-8 ohne BOM. Die Dateien die gelesen werden sollen auch. Dateinamen müßten unter Windows immer utf-16 sein(glaube ich jedenfalls).
<< |< 1 2 >| >> 19 Einträge, 2 Seiten



View all threads created 2008-02-17 20:21.