1
2
3
4
5
6
7
my $utf8oktetten = $benutzergeschichte;
my $utf8str = decode('utf-8', $utf8oktetten);
my $benutzergeschichte = $utf8str;
my $size = length($benutzergeschichte);
if($size > 4000){
goto TextUmfangError;
}
Guest HP-UserHallo Leute
Ich muss aus längentechnischen Gründen ein Skalarwert, der in utf-8 vorlag decodieren. Das hat so ganz gut geklappt:
Code: (dl )1
2
3
4
5
6
7my $utf8oktetten = $benutzergeschichte;
my $utf8str = decode('utf-8', $utf8oktetten);
my $benutzergeschichte = $utf8str;
my $size = length($benutzergeschichte);
if($size > 4000){
goto TextUmfangError;
}
Nach dem die Skalarlänge überprüft wurde, brauch ich allerdings den Skalarinhalt wieder in utf-8 - weil sonst bin ich angeschmiert *g*
Ich galaube ich hab omentan ASCII-Zeichen. Ich muss aber wieder zurück verwandeln! So, Daß am Schluß "$benutzergeschichte" wieder utf-8-Code enthält.
1 2
my $utf8str = decode('utf-8', $benutzergeschichte); my $size = length($utf8str);
1
2
3
4
5
6
7
$customstorycode =~ s/\015\012|\015|\012//g;
$headline =~ s/\015\012|\015|\012//g;
$benutzergeschichte =~ s/\015\012|\015|\012//g;
$zaehler =~ s/\015\012|\015|\012//g;
$internetpost =~ s/\015\012|\015|\012//g;
$tbgelesen =~ s/\015\012|\015|\012//g;
$spamschutz =~ s/\015\012|\015|\012//g;
=~ s/\015\012|\015|\012//g;
1 2 3 4 5 6 7 8 9 10 11 12 13
sub rmbr(\[@$]) { my $r=shift; if(ref $r eq 'ARRAY') { s/(:?\x0D?\x0A|\x0D)+$//gs for @$r; s/(:?\x0D?\x0A|\x0D)+/ /gs for @$r; return 1; } $$r=~s/(:?\x0D?\x0A|\x0D)+$//gs; $$r=~s/(:?\x0D?\x0A|\x0D)+/ /gs; return 1; }
1 2 3 4 5 6 7
rmbr $customstorycode; rmbr $headline; rmbr $benutzergeschichte; rmbr $zaehler; rmbr $internetpost; rmbr $tbgelesen; rmbr $spamschutz;
1 2 3 4 5 6 7 8
sub entfernt_alle_umrueche { my $string = shift(@_); $string =~ s/\015\012|\015|\012//g; return $string; } $customstorycode = entfernt_alle_umrueche( $customstorycode );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# es darf ein Array oder Scalar übergeben werden sub entfernt_alle_umrueche_aus ( \[@$] ) { my $referenz_auf_wert = shift ( @_ ); if(ref $referenz_auf_wert eq 'ARRAY') { s/\015\012|\015|\012//g for @$referenz_auf_wert; } else { $$referenz_auf_wert =~ s/\015\012|\015|\012//g } return 1; } entfernt_alle_umrueche_aus $customstorycode;
Guest HP-UserHabe ich für dich gemacht, weil du, auch als nachträglich angemeldeter Nutzer HP-User, keinen Gastthread als gelöst markieren kannst.Sorry, ich suche wie blöd den gelöst-Knopf! Deshalb nochmal der post. Ich kann ihn nicht finden. Also wie gesagt: Das Thema mit der Codierung ist beendet!