Schrift
[thread]5950[/thread]

length und Umlaute



<< >> 6 Einträge, 1 Seite
Diana
 2003-12-05 13:21
#74492 #74492
User since
2003-12-04
2 Artikel
BenutzerIn
[default_avatar]
Hallo :)

ich rätsel hier gerade rum & komm nicht wirklich zu einem Ergebnis. Ich möchte die Länge eines Strings prüfen ...
Soweit so gut. Mein Ansatz bestand darin length($string)
zu benutzen. Dummerweise kann mein String auch Umlaute enthalten, so dass die Länge dann nicht mehr stimmt:
a hat eine Länge von 1
ä hat eine Länge von 2
Leider weiss ich Voraus auch nicht, wie viele Umlaute in meinem String enthalten sind.
Habt ihr eine Idee, wie ich trotzdem die korrekte Länge (=Zeichenanzahl) des Strings bestimmen kann ?

Danke und Liebe Grüße,

Diana

PS:
length
Returns the length in characters of the value of EXPR
pq
 2003-12-05 13:31
#74493 #74493
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
hmm, ich kann das nicht nachvollziehen:
Code: (dl )
1
2
3
4
5
$ perl -wle'
print length "a";
print length "ä"'
1
1

ist doch richtig. wie kommst du darauf, dass "ä" eine länge von 2 hat?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Diana
 2003-12-05 13:48
#74494 #74494
User since
2003-12-04
2 Artikel
BenutzerIn
[default_avatar]
Hmpf - bei mir kommt immer 2 raus.

Mein Code:
Code: (dl )
1
2
3
4
$char = <>;
chomp($char);

print length $char;


Und wenn ich dieses dann ausführe:
Code: (dl )
1
2
3
4
5
6
% ./bla
ä
2
% ./bla
a
1


... das verstehe wer will. Ich tus nicht :)

Liebe Grüße,

Diana
ptk
 2003-12-05 13:52
#74495 #74495
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Das koennte mit utf-8 zusammenhaengen. Welche Perl-Version verwendest du? Auf welchen Wert sind die Environmentvariablen LC_ALL und LANG gesetzt?
betterworld
 2003-12-05 14:47
#74496 #74496
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Verwendest Du vielleicht uxterm oder einen Editor, der UTF-8 benutzt?
Strat
 2003-12-05 15:46
#74497 #74497
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
es scheint sich 1. um einen editor, der UTF8 kann, oder ein Programm, das die Daten mit UTF8 erstellt, und 2. um eine aeltere Perl-Version zu handeln.

Welche Perl-Version hast du? (findest du mit perl -v heraus)
Welchen Editor verwendest du?

aendert es was, wenn du im Perl-Script ziemlich am anfang folgende Zeile schreibst?
Code: (dl )
use utf8;

wenn die perl-Version jedoch ziemlich alt ist, wird da wohl eine Fehlermeldung kommen... in diesem Fall ist es wohl am besten, auf perl5.8 umzusteigen, oder sich um die Umlaute selbst zu kuemmern (ist allerdings haesslich)\n\n

<!--EDIT|Strat|1070632043-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 6 Einträge, 1 Seite



View all threads created 2003-12-05 13:21.