hotti: Jetzt alles ok!

Beitrag lesen

Alles in utf-8 geschrieben, aber ich hab tatsächlich im Script oben kein "use utf8;"  verwendet. Danke!

Pragma utf8 wirkt nur auf Literale, die im Script selbst notiert sind. In einer Datei jedoch stehen IMMER Oktetten, auch dann, wenn das UTF-8 ist.

  
use utf8;  
my $str = <FILEHANDLE>;  
# has no effect!!!  

Jetzt kommen wir wieder zu dem Hinweis, der schon von Kollegen gegeben wurde:

  
use Text::CSV;  

Mit diesem Modul bekommst Du UTF-8-kodierte Strings. Wenn Du die Datei selbst einliest, bekommst Du Oktetten (ohne weitere eigene Initiativen).

Alles was an Stringfunktionen (uc, ucfirst usw.) geht, das müssen Zeichenketten sein, mit Oktetten gehts schief.

Hotti