Thread Bei UTF-8 file wird erste Zeile nicht gelesen
(9 answers)
Opened by crojay at 2011-06-10 10:05
Du hast die Datei wahrscheinlich in UTF-8 mit BOM gespeichert. Die erste Zeile wird gelesen. Der Schlüssel hat nur noch das BOM vorne dran, weshalb du ihn nicht findest. Entweder lässt du das BOM weg, das wird bei UTF-8 nicht gebraucht, oder du entfernst die ersten drei Zeichen in der Datei, wenn sie "\xEF\xBB\xBF" sind.
Du kannst das lesen so schreiben: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 open (my $fh, '<:encoding(UTF-8)',$inputFile) || die "file $inputFile konnte nicht geoeffnet werden\n"; my $bom=1; %exportHash = map { chomp; s/^\xEF\xBB\xBF// if($bom); $bom=0; split /\s*$seperatorChar\s*/, $_, 2; } <$fh>; close($fh); |