Thread Umlaute und printf (8 answers)
Opened by der_thomas at 2018-02-07 21:16

thomas38
 2018-02-08 00:09
#187991 #187991
User since
2012-11-04
30 Artikel
BenutzerIn
[default_avatar]
Hallo Thomas,

nein, Du musst nicht mit der Ersatzdarstellung der Umlaute leben.

Es funktioniert, wenn "encode" erst nach dem "printf" ausgeführt wird.
Dazu habe ich im Beispielcode unten statt "printf" die Funktion "sprintf" verwendet.

"encode" verwende ich immer erst, wenn ein Ergebnis ausgegeben wird.


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use v5.12;
use warnings;
use utf8;
use Encode qw(encode decode);
my $enc = 'utf-8';

my @orte=qw(Köln Mannheim Hamburg Würzbürg);


foreach my $ort (@orte)
{
 my $ort_sprintf = sprintf "%-15s EOL\n", $ort;
 my $ort_encoded=encode($enc,$ort_sprintf);
 print $ort_encoded;
}


Ausgabe:
Code: (dl )
1
2
3
4
5
thomas@rtj11:~/tmp> perl printf_umlaute.pl 
Köln EOL
Mannheim EOL
Hamburg EOL
Würzbürg EOL

View full thread Umlaute und printf